java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

y0dA

Top Contributor
Versuche gerade (nach wie vor) ein Projekt mit Spring 3, JPA 2 und JSF 2 aufzusetzen.

Beim Starten des Servers bekomme ich folgende Exception:
Java:
01.11.2010 11:46:38 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_22\jre\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\QuickTime\QTSystem\
01.11.2010 11:46:38 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:GrossesTestProjektWeb' did not find a matching property.
01.11.2010 11:46:38 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
01.11.2010 11:46:38 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 479 ms
01.11.2010 11:46:38 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
01.11.2010 11:46:38 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.29
01.11.2010 11:46:39 org.apache.catalina.core.StandardContext listenerStart
SCHWERWIEGEND: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4078)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
	at org.apache.catalina.core.StandardService.start(StandardService.java:519)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
01.11.2010 11:46:39 org.apache.catalina.core.StandardContext listenerStart
SCHWERWIEGEND: Skipped installing application listeners due to previous error(s)
01.11.2010 11:46:39 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Error listenerStart
01.11.2010 11:46:39 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Context [/GrossesTestProjektWeb] startup failed due to previous errors

Hier meine pom.xml (testweise sind einige Spring Dependencies mehr drinnen als eventuell benötigt):
Java:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>GrossesTestProjektWeb</groupId>
	<artifactId>GrossesTestProjektWeb</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!-- Shared version number properties -->
	<properties>
		<org.springframework.version>3.0.4.RELEASE</org.springframework.version>
	</properties>

	<dependencies>

		<dependency>
			<groupId>org.hibernate.java-persistence</groupId>
			<artifactId>jpa-api</artifactId>
			<version>2.0-cr-1</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>3.5.0-Beta-2</version>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.16</version>
		</dependency>

		<dependency>
			<groupId>org.apache.myfaces.core</groupId>
			<artifactId>myfaces-api</artifactId>
			<version>2.0.0</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.myfaces.core</groupId>
			<artifactId>myfaces-impl</artifactId>
			<version>2.0.0</version>
			<scope>compile</scope>
		</dependency>


		<!-- Core utilities used by other modules. Define this if you use Spring 
			Utility APIs (org.springframework.core.*/org.springframework.util.*) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Expression Language (depends on spring-core) Define this if you use 
			Spring Expression APIs (org.springframework.expression.*) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-expression</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Bean Factory and JavaBeans utilities (depends on spring-core) Define 
			this if you use Spring Bean APIs (org.springframework.beans.*) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Aspect Oriented Programming (AOP) Framework (depends on spring-core, 
			spring-beans) Define this if you use Spring AOP APIs (org.springframework.aop.*) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Application Context (depends on spring-core, spring-expression, spring-aop, 
			spring-beans) This is the central artifact for Spring's Dependency Injection 
			Container and is generally always defined -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Various Application Context utilities, including EhCache, JavaMail, 
			Quartz, and Freemarker integration Define this if you need any of these integrations -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Transaction Management Abstraction (depends on spring-core, spring-beans, 
			spring-aop, spring-context) Define this if you use Spring Transactions or 
			DAO Exception Hierarchy (org.springframework.transaction.*/org.springframework.dao.*) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- JDBC Data Access Library (depends on spring-core, spring-beans, spring-context, 
			spring-tx) Define this if you use Spring's JdbcTemplate API (org.springframework.jdbc.*) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Object-to-Relation-Mapping (ORM) integration with Hibernate, JPA, 
			and iBatis. (depends on spring-core, spring-beans, spring-context, spring-tx) 
			Define this if you need ORM (org.springframework.orm.*) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Web application development utilities applicable to both Servlet and 
			Portlet Environments (depends on spring-core, spring-beans, spring-context) 
			Define this if you use Spring MVC, or wish to use Struts, JSF, or another 
			web framework with Spring (org.springframework.web.*) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Spring MVC for Servlet Environments (depends on spring-core, spring-beans, 
			spring-context, spring-web) Define this if you use Spring MVC with a Servlet 
			Container such as Apache Tomcat (org.springframework.web.servlet.*) -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${org.springframework.version}</version>
		</dependency>

		<!-- Support for testing Spring applications with tools such as JUnit and 
			TestNG This artifact is generally always defined with a 'test' scope for 
			the integration testing framework and unit testing stubs -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${org.springframework.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

Lt. Google fehlt mir die spring-2.5.6.jar, da ich jedoch Spring 3 benutze denke ich dass es sich um die spring-mvc.jar handelt.
Unter WEB-INF/lib ist selbige auch nicht enthalten (benutze Maven) allen anderen JARs jedoch schon.
Lt. ClassNotFoundException : org.springframework.web.context.ContextLoaderListener soll ich jene JAR als external JAR am Server einbinden - macht man das aktuell wirklich so?

Lösungsvorschläge?
 

Noctarius

Top Contributor
Jupp bei diesem Fehler ist meistens ein Problem mit dem Deployment. Mein Eclipse vergisst schon mal ganz gerne Libs beim Deploy zum Tomcat.
 

y0dA

Top Contributor
Habe herausgefunden dass org.springframework.web.context.ContextLoaderListener in spring-web.jar enthalten ist.
Sitze grade nicht vor dem Programm, aber bilde mir ein dass jenes Jar sehr wohl in WEB-INF/lib/ auscheint - checke das aber nochmal heute Abend.

Falls ihr Recht habt, wovon ich ausgehe, wie schaffe ich es dass Eclipse die JARs mitdeployed? Es kann ja nicht sein dass ich in Eclipse jedes Mal den Server starte und danach noch im Tomcat Ordner checken muss ob alles deployed ist und gegebenenfalls jars "zu Fuss" nachreichen muss?
 

MySelV

Aktives Mitglied
Hi,

das löst du wohl nur, wenn du nicht mit eclipse deployst. Am einfachsten dafür ist sicher die Nutzung von ant, indem du ein eigenen Task anlegen kannst, der dir die libs auf den Server kopiert.
Warum eclipse hier und da die libs vergisst, kann ich dir nicht sagen, ich weiß nur, dass ich das Problem auch oft hatte und deshalb auf ant umgestiegen bin.

Grüße
 

Tente

Mitglied
Kannst es schon mit Eclipse deployen.

Bin mir gerade nich mehr sicher, hab gerade kein Eclipse offen. Meine du musst bei den Properties vom Projekt unter dem Punkt "Java EE Module Dependencies" den Haken bei den Bibliotheken setzen, die du mitdeployen willst.
 

Geeeee

Bekanntes Mitglied
Moment.Stop. Du nutzt Maven, aber willst mit Eclipse deployen? Ernsthafte Frage: Warum?
Pack doch in deine pom noch <packaging>war</packaging> rein und mach ein mvn package ?!
Zum (Test-)Starten der Anwendung einfach ein mvn tomcat:run.
Maven kennt tomcat defaultmäßig, deshalb brauchst du da nicht mit group, artifact und version hantieren, und läd eben nur die entsprechenden Plugins beim ersten mal nach.
 

y0dA

Top Contributor
Moment.Stop. Du nutzt Maven, aber willst mit Eclipse deployen? Ernsthafte Frage: Warum?
Pack doch in deine pom noch <packaging>war</packaging> rein und mach ein mvn package ?!
Zum (Test-)Starten der Anwendung einfach ein mvn tomcat:run.
Maven kennt tomcat defaultmäßig, deshalb brauchst du da nicht mit group, artifact und version hantieren, und läd eben nur die entsprechenden Plugins beim ersten mal nach.

Ich bin es gewohnt dass ich bspw. in Eclipse den Server starte und per Eclipse am Server deploye und im Anschluss einfach den Server starte und die Applikation teste - das spielt sich alles in Eclipse ab. Es geht hier ja nicht drum ein WAR/EAR was auch immer zu erstellen sondern über die Entwicklungsumgebung das Programm zu testen.
 

Noctarius

Top Contributor
Moment.Stop. Du nutzt Maven, aber willst mit Eclipse deployen? Ernsthafte Frage: Warum?
Pack doch in deine pom noch <packaging>war</packaging> rein und mach ein mvn package ?!
Zum (Test-)Starten der Anwendung einfach ein mvn tomcat:run.
Maven kennt tomcat defaultmäßig, deshalb brauchst du da nicht mit group, artifact und version hantieren, und läd eben nur die entsprechenden Plugins beim ersten mal nach.

Ich mach das in der Firma auch so, klappt normalerweise auch super (mit kleinen Besonderheiten). So musst du z.B. nach einem mvn clean auch in Eclipse ein Project / Clean machen wenn du z.B. Resources nutzt, weil nur Eclipse diese mit ins Target-Verzeichnis legt.
Zum Bauen sollte man Maven grundsätzlich clean in Verbindung mit package oder install nutzen.

Hin und wieder muss man auch noch nach einem Maven Build einfach mal alle Projekte (welche zusammenhängen beim Deploy) refreshen!
 

y0dA

Top Contributor
Wo deployes Eclipse eigentlich hin? In den Tomcat 6 Ordner jedenfalls nicht..

**EDIT**
Ok hier wird hin deployed:
C:\Program Files\Development\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\

Interessant ist dass ich gar keine Libs hier unter
C:\Program Files\Development\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\GrossesTestProjektWeb\WEB-INF\lib
habe.

In Eclipse im Packageexplorer sehe ich aber die libs in WEB-INF/lib......
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Mach mal bei allen beteildigten Projekten ein Project / Clean (von Eclipse) und dann noch mal ein Refresh mit anschließendem Redeploy in den Tomcat (also im Kontextmenü vom Server "clean" nicht "publish")
 

y0dA

Top Contributor
Mach mal bei allen beteildigten Projekten ein Project / Clean (von Eclipse) und dann noch mal ein Refresh mit anschließendem Redeploy in den Tomcat (also im Kontextmenü vom Server "clean" nicht "publish")

Bringt leider nix, schön langsam zweifle ich an mir selbst..

Sysdeo Plugin wo bist du ;)


**EDIT**
Anscheinend gibt es Probleme mit dem m2eclipse Plugin..
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Ansonsten manchmal bringt es auch was einfach die Projektfiles (von Eclipse) löschen, Projekt aus dem Workspace nehmen und per Maven neu importieren. Hatte es schon mal, dass Maven irgendwie die Files nicht mehr reparieren / erzeugen konnte / wollte.
 

y0dA

Top Contributor
Danke für eure Unterstützung, hatte tatsächlich vergessen unter DEPLOYMENT ASSEMBLY die Maven Dependencies anzugeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 required a bean of type 'java.lang.String' that could not be found. Frameworks - Spring, Play, Blade, Vaadin & Co 8
B Spring / Jpa / Hibernate -> java.lang.IllegalArgumentException: Unknown entity Frameworks - Spring, Play, Blade, Vaadin & Co 1
Jose05 Java Anwendung, über den Browser steuern Frameworks - Spring, Play, Blade, Vaadin & Co 1
S java springboot HTML Produktstruktur Frameworks - Spring, Play, Blade, Vaadin & Co 1
G Java springboot Item mit ItemInstance verbinden Frameworks - Spring, Play, Blade, Vaadin & Co 2
thor_norsk Javac nicht vorhanden in Java-17-openjdk-amd64 Frameworks - Spring, Play, Blade, Vaadin & Co 8
padde479 Cannot invoke "java.util.Map.containsKey(Object)" because "requestMap" is null Frameworks - Spring, Play, Blade, Vaadin & Co 2
OnDemand Vaadin Pro & TypScript vs Plain Java Frameworks - Spring, Play, Blade, Vaadin & Co 4
S Java Web App oder PHP Frameworks - Spring, Play, Blade, Vaadin & Co 10
Zrebna SpringBoot-Project: java.sql.SQLSyntaxErrorException: Access denied for user 'gap3'@'%' to database '3306/gap3' Frameworks - Spring, Play, Blade, Vaadin & Co 3
L Hilfe beim Erstellen einer Java Web Anwendung gesucht Frameworks - Spring, Play, Blade, Vaadin & Co 5
M Java Spring Security Frameworks - Spring, Play, Blade, Vaadin & Co 5
OnDemand Webfrontend mit Java Backend Frameworks - Spring, Play, Blade, Vaadin & Co 26
F Server-Java-Spring Websockets Frameworks - Spring, Play, Blade, Vaadin & Co 6
L Controller Spring Boot mit Java Frameworks - Spring, Play, Blade, Vaadin & Co 20
J Spring Boot Thymleaf mit Java.Optional Frameworks - Spring, Play, Blade, Vaadin & Co 0
B Java Spring Boot - POM-Problem Frameworks - Spring, Play, Blade, Vaadin & Co 8
H OAuth2 mit Spring boot und Java Frameworks - Spring, Play, Blade, Vaadin & Co 5
P Java EE vs. Spring Frameworks - Spring, Play, Blade, Vaadin & Co 2
K Spring Security für Java SE Frameworks - Spring, Play, Blade, Vaadin & Co 2
V Java (Eclipse) programmierung zum Springerproblem Frameworks - Spring, Play, Blade, Vaadin & Co 1
M Java for-Schleife überspringt eine Eingabe Frameworks - Spring, Play, Blade, Vaadin & Co 11
Java.getSkill() Gemeinsam Java Spring lernen Frameworks - Spring, Play, Blade, Vaadin & Co 17
S Senior-Softwareentwickler (m/w) Java / Spring im Raum Frankfurt Frameworks - Spring, Play, Blade, Vaadin & Co 0
MQue Meine Java Spring Appl Frameworks - Spring, Play, Blade, Vaadin & Co 0
W Java Applet aus der Taskleiste springt in Vordergrund Frameworks - Spring, Play, Blade, Vaadin & Co 3
S Java Applet:Thread.Timeout überspringt Teile des Codes Frameworks - Spring, Play, Blade, Vaadin & Co 2
S Integrations Test in Java mit Spring Frameworks - Spring, Play, Blade, Vaadin & Co 2
A Java Bean Validation und Spring Webflow Frameworks - Spring, Play, Blade, Vaadin & Co 0
W java Spring mit db Frameworks - Spring, Play, Blade, Vaadin & Co 1
nrg Debugger springt immer in Java SE Code Frameworks - Spring, Play, Blade, Vaadin & Co 3
H java web anwendung auf spring 2.0 umstellen Frameworks - Spring, Play, Blade, Vaadin & Co 3

Ähnliche Java Themen

Neue Themen


Oben