Komisches Verhalten in Eclipse 3.4.1 - Klassen plötzlich nicht mehr auffindbar

alan79

Mitglied
Ich habe komische Probleme in Eclipse. Der Fehler trat früher sporadisch auf, nun bei jedem Update einer Java Klasse.

Eclipse meckert plötzlich dass gewisse Klassen nicht mehr auffindbar sind d.h. die Import's funktioniert nicht mehr. Der Fehler lässt sich nur durch aufruf "Project>Clean" beheben.

Das ganze wird z.B. hier diskutiert:
http://www.brunningonline.net/simon/blog/archives/001748.html

d.h. ich bin nicht der einzige. Früher war das Problem auch nicht so gravierend. Seit heute kann ich aber praktisch nicht mehr arbeiten, da der Project>Clean ca. 90 Sekunden dauert!

Ich verwende folgende Eclipse Version:
Version: 3.4.1
Build id: M20080911-1700
(Ganymede package - m2 plugin, Hibernate 3.0 plugin, subclipse plugin)

Ich arbeite in dem Projekt hauptsächlich mit folgenden Frameworks
- myfaces 1.2.6
- facelets 1.1.14
- richfaces 3.3.1.BETA2
- hibernate 3.3.1.GA
- Maven 2.0.8
etc..

Ich kann leider nicht genau sagen wann der Fehler wieder aufgetaucht ist. Jedenfalls habe ich heute das Maven WAR packaging überarbeitet.
Falls jemand Erfahrung hat mit dem Fehler bin ich um einen Tipp sehr, sehr dankbar!

Grüsse
Alan
 
Da es ein Maven Projekt gibt könnte eine Maven - Update Project Configuration auf dem Projekt helfen.
 
ach herrje.. ich hab das probiert. Allerdings hat das für den moment alles nur verschlimmert. Jetzt kommt der Tomcat gar nicht mehr hoch!!

Code:
01.04.2009 18:59:35 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:groupware' did not find a matching property.
01.04.2009 18:59:35 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context/Realm} Setting property 'debug' to '99' did not find a matching property.
01.04.2009 18:59:35 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:\Sun\SDK\jdk\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Sun/SDK/jdk/jre/bin/client;C:/Sun/SDK/jdk/jre/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\PROGRA~1\ULTRAE~1;C:\Program Files\Subversion\bin;C:\Sun\SDK\bin
01.04.2009 18:59:35 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8086
01.04.2009 18:59:35 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8444
01.04.2009 18:59:35 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1134 ms
01.04.2009 18:59:35 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
01.04.2009 18:59:35 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
01.04.2009 18:59:37 org.apache.catalina.core.StandardContext filterStart
SCHWERWIEGEND: Exception starting filter HibernateFilter
java.lang.NoClassDefFoundError: org/apache/log4j/Logger
	at com.antavis.groupware.hibernate.HibernateFilter.<clinit>(HibernateFilter.java:34)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:255)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	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:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
	... 25 more
01.04.2009 18:59:39 org.apache.catalina.core.StandardContext filterStart
SCHWERWIEGEND: Exception starting filter richfaces
java.lang.ClassNotFoundException: org.ajax4jsf.Filter
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	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:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
01.04.2009 18:59:39 org.apache.catalina.core.StandardContext filterStart
SCHWERWIEGEND: Exception starting filter MyFacesExtensionsFilter
java.lang.ClassNotFoundException: org.apache.myfaces.webapp.filter.ExtensionsFilter
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	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:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
01.04.2009 18:59:39 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Error filterStart
01.04.2009 18:59:39 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Context [/groupware] startup failed due to previous errors
01.04.2009 18:59:39 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8086
01.04.2009 18:59:40 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8671
01.04.2009 18:59:40 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/47  config=null
01.04.2009 18:59:40 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8444
01.04.2009 18:59:40 org.apache.catalina.startup.Catalina start
INFO: Server startup in 4140 ms
 
Aus irgendeinem Grund deployed WTP die libs nicht mehr..?

Unter
[workspace]\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\groupware\WEB-INF\
existierte keine lib folder. Ich habe diesen testweise mal manuell angelegt und mit allen nötigen libs gefüllt. Da hat der Tomcat wieder gestartet. Woran kann das liegen?
Die Maven Dependencies werden im Projekt angezeigt d.h. sind im Build Path.
 
Ok. Das Problem ist mal gelöst! Die J2EE Dependencies sind rausgeflogen.
Jetzt muss ich mal schauen ob sich bezüglich des ursprünglichen Problems was verbessert hat...
 
Vielen Dank Zeja! Da fällt mir ein Stein vom Herzen. Das Problem ist weg. Wahrscheinlich hat das mit gewissen Anpassungen im pom.xml zusammengehängt.
 
Grundsätzlich passiert sowas gern nach einem mvn clean irgendwas. Die Eclipse ist etwas zickitsch wenn man ihr den traget Ordner unter der Haube wegklaut. D.h. nach einem clean brauch man meist eine Aktion im Eclipse, die mal eben die Klassen neu "erzeugt", d.h. nicht physisch, aber in Eclipse' Augen halt um den Refresh zu triggern.

Gruß
Ollie
 

Neue Beiträge

Zurück