You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Jim Downing <oj...@cam.ac.uk> on 2006/12/14 16:34:18 UTC

Clogging NoClassDefFoundError

Hi,

I'm having problems with the jetty plugin - on running 'mvn jetty:run' I 
get a mysterious exception from clogging that is caused at some point by 
a NoClassDefFoundError complaining that it can't find log4j. Log4j is 
referenced by the project, ends up in the package war and is also listed 
by jetty as being on the classpath when it starts up, so I'm stumped why 
this is happening.

Excerpt (full stack and my pom attached): -

org.apache.commons.logging.LogConfigurationException: 
org.apache.commons.logging.LogConfigurationException: No suitable Log 
constructor [Ljava.lang.Class;@b3f9b8 for 
org.apache.commons.logging.impl.Log4JLogger
        at 
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
...
       at 
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
        ... 43 more
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
        at java.lang.Class.getDeclaredConstructors0(Native Method)

Thanks for any help you could give.

jim

Re: Clogging NoClassDefFoundError

Posted by Alexandre Poitras <al...@gmail.com>.
>From :
http://cwiki.apache.org/WICKET/maven-jetty6-plugin.html

*Currently, the best plugin version to use is the 6.0-SNAPSHOT one, so be
aware that it is a little out on the edge. The reason for this is that
earlier versions of Jetty used commons-logging, which lead to various
class-loader issues <http://www.qos.ch/logging/classloader.jsp>, e.g.
org.apache.commons.logging.LogConfigurationException: No suitable Log
constructor...</tt>*<br>
*Thankfully, the lastest version of the plugin/Jetty6 has switched to
SLF4J<http://www.slf4j.org/>so they've disappeared, but that version
of plugin/Jetty6's not yet been
released...*


On 12/18/06, Jim Downing <ji...@pobox.com> wrote:
>
> Dennis Lundberg wrote:
> > Hi Jim
> >
> > This is a Commons Logging - Log4J classic. It would take a while to
> > explain it, but the short version is that Commons Logging and Log4J
> > are probably in different classloaders. The best way to trace the
> > source of the problem is to upgrade Commons Logging (temporarily) to
> > version 1.1. That version has a neat diagnostics feature [1] that
> > allows you you to investigate such classloader issues. Turn it on and
> > have a look at the results you get.
> >
> > [1] http://jakarta.apache.org/commons/logging/troubleshooting.html
> >
>
> I'd guessed at some class loader problem. I didn't manage to get any of
> the diagnostics out for the case where I had the problem, but I did find
> a way of fixing it. Basically, the jetty plugin needs to be proactively
> configured for logging, as documented at the bottom of
> http://jetty.mortbay.org/maven-plugin/howto.html. Either specifying the
> c-logging SimpleLog implementation through a system property, or adding
> c-logging and log4j to the plugin's dependencies and letting the
> automatic selection in c-logging do its stuff both work.
>
>
> Thanks to Dennis and Wayne for your help.
>
> Best wishes,
>
> jim
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: Clogging NoClassDefFoundError

Posted by Jim Downing <ji...@pobox.com>.
Dennis Lundberg wrote:
> Hi Jim
>
> This is a Commons Logging - Log4J classic. It would take a while to 
> explain it, but the short version is that Commons Logging and Log4J 
> are probably in different classloaders. The best way to trace the 
> source of the problem is to upgrade Commons Logging (temporarily) to 
> version 1.1. That version has a neat diagnostics feature [1] that 
> allows you you to investigate such classloader issues. Turn it on and 
> have a look at the results you get.
>
> [1] http://jakarta.apache.org/commons/logging/troubleshooting.html
>

I'd guessed at some class loader problem. I didn't manage to get any of 
the diagnostics out for the case where I had the problem, but I did find 
a way of fixing it. Basically, the jetty plugin needs to be proactively 
configured for logging, as documented at the bottom of 
http://jetty.mortbay.org/maven-plugin/howto.html. Either specifying the  
c-logging SimpleLog implementation through a system property, or adding 
c-logging and log4j to the plugin's dependencies and letting the 
automatic selection in c-logging do its stuff both work.


Thanks to Dennis and Wayne for your help.

Best wishes,

jim

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Clogging NoClassDefFoundError

Posted by Dennis Lundberg <de...@apache.org>.
Hi Jim

This is a Commons Logging - Log4J classic. It would take a while to 
explain it, but the short version is that Commons Logging and Log4J are 
probably in different classloaders. The best way to trace the source of 
the problem is to upgrade Commons Logging (temporarily) to version 1.1. 
That version has a neat diagnostics feature [1] that allows you you to 
investigate such classloader issues. Turn it on and have a look at the 
results you get.

[1] http://jakarta.apache.org/commons/logging/troubleshooting.html

-- 
Dennis Lundberg


Jim Downing wrote:
> Hi,
> 
> I'm having problems with the jetty plugin - on running 'mvn jetty:run' I 
> get a mysterious exception from clogging that is caused at some point by 
> a NoClassDefFoundError complaining that it can't find log4j. Log4j is 
> referenced by the project, ends up in the package war and is also listed 
> by jetty as being on the classpath when it starts up, so I'm stumped why 
> this is happening.
> 
> Excerpt (full stack and my pom attached): -
> 
> org.apache.commons.logging.LogConfigurationException: 
> org.apache.commons.logging.LogConfigurationException: No suitable Log 
> constructor [Ljava.lang.Class;@b3f9b8 for 
> org.apache.commons.logging.impl.Log4JLogger
>        at 
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532) 
> 
> ...
>       at 
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525) 
> 
>        ... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
>        at java.lang.Class.getDeclaredConstructors0(Native Method)
> 
> Thanks for any help you could give.
> 
> jim
> 
> 
> ------------------------------------------------------------------------
> 
> [INFO] Scanning for projects...
> [INFO] Searching repository for plugin with prefix: 'jetty'.
> [INFO] ----------------------------------------------------------------------------
> [INFO] Building Unnamed - uk.ac.cam.spectra:spectrasub:war:0.0.1
> [INFO]    task-segment: [jetty:run]
> [INFO] ----------------------------------------------------------------------------
> [INFO] Preparing jetty:run
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:compile]
> [INFO] Nothing to compile - all classes are up to date
> [INFO] [jetty:run]
> [INFO] Configuring Jetty for project: Unnamed - uk.ac.cam.spectra:spectrasub:war:0.0.1
> [INFO] Webapp source directory = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/src/main/webapp
> [INFO] web.xml file = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/src/main/webapp/WEB-INF/web.xml
> [INFO] Classes = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/target/classes
> 2006-12-14 15:23:48.966::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
> [INFO] Context path = /spectrasub
> [INFO] Tmp directory = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/target/work
> [INFO] Web defaults =  jetty default
> [INFO] Webapp directory = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/src/main/webapp
> [INFO] Starting jetty 6.1-SNAPSHOT ...
> 2006-12-14 15:23:49.071::INFO:  jetty-6.1-SNAPSHOT
> [INFO] Classpath = [file:/home/ojd20/projects/spectra/eclipse-workspace/spectrasub/target/classes/, file:/home/ojd20/.m2/repository/net/sourceforge/jcamp-dx/0.1/jcamp-dx-0.1.jar, file:/home/ojd20/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/home/ojd20/.m2/repository/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar, file:/home/ojd20/.m2/repository/net/sourceforge/jena/jena/2.4/jena-2.4.jar, file:/home/ojd20/.m2/repository/regexp/regexp/1.2/regexp-1.2.jar, file:/home/ojd20/.m2/repository/org/apache/tapestry/tapestry-framework/4.1/tapestry-framework-4.1.jar, file:/home/ojd20/.m2/repository/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar, file:/home/ojd20/.m2/repository/org/ostermiller/ostermillerutils/1.06/ostermillerutils-1.06.jar, file:/home/ojd20/.m2/repository/commons-io/commons-io/1.1/commons-io-1.1.jar, file:/home/ojd20/.m2/repository/commons-digester/commons-digester/1.7/commons-digester-1.7.jar, file:/home/ojd20/.m2/repository/commons-codec/comm
ons-codec/1.3/commons-codec-1.3.jar, file:/home/ojd20/.m2/repository/commons-fileupload/commons-fileupload/1.1/commons-fileupload-1.1.jar, file:/home/ojd20/.m2/repository/hivemind/hivemind-lib/1.1.1/hivemind-lib-1.1.1.jar, file:/home/ojd20/.m2/repository/xom/xom/1.1/xom-1.1.jar, file:/home/ojd20/.m2/repository/cml/jumbo/5.3-beta1/jumbo-5.3-beta1.jar, file:/home/ojd20/.m2/repository/xalan/xalan/2.7.0/xalan-2.7.0.jar, file:/home/ojd20/.m2/repository/java3d/vecmath/1.3.1/vecmath-1.3.1.jar, file:/home/ojd20/.m2/repository/hivemind/hivemind/1.1.1/hivemind-1.1.1.jar, file:/home/ojd20/.m2/repository/stax/stax-api/1.0/stax-api-1.0.jar, file:/home/ojd20/.m2/repository/net/sourceforge/jena/iri/1.0/iri-1.0.jar, file:/home/ojd20/.m2/repository/org/springframework/spring-context/2.0/spring-context-2.0.jar, file:/home/ojd20/.m2/repository/woodstox/wstx-asl/2.8/wstx-asl-2.8.jar, file:/home/ojd20/.m2/repository/antlr/antlr/2.7.2/antlr-2.7.2.jar, file:/home/ojd20/.m2/repository/concurrent/con
current/1.3.4/concurrent-1.3.4.jar, file:/home/ojd20/.m2/repository/org/springframework/spring-core/2.0/spring-core-2.0.jar, file:/home/ojd20/.m2/repository/jboss/javassist/3.0/javassist-3.0.jar, file:/home/ojd20/.m2/repository/commons-collections/commons-collections/2.1/commons-collections-2.1.jar, file:/home/ojd20/.m2/repository/org/springframework/spring-aop/2.0/spring-aop-2.0.jar, file:/home/ojd20/.m2/repository/junit/junit/3.8/junit-3.8.jar, file:/home/ojd20/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar, file:/home/ojd20/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar, file:/home/ojd20/.m2/repository/cml/cifdom/20061009/cifdom-20061009.jar, file:/home/ojd20/.m2/repository/jaxen/jaxen/1.1-beta-8/jaxen-1.1-beta-8.jar, file:/home/ojd20/.m2/repository/org/apache/tapestry/tapestry-annotations/4.1/tapestry-annotations-4.1.jar, file:/home/ojd20/.m2/repository/net/sourceforge/jena/arq/1.4/arq-1.4.jar, file:/home/ojd20/.m2/
repository/jdom/jdom/1.0/jdom-1.0.jar, file:/home/ojd20/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar, file:/home/ojd20/.m2/repository/log4j/log4j/1.2.6/log4j-1.2.6.jar, file:/home/ojd20/.m2/repository/org/json/json/1.0/json-1.0.jar, file:/home/ojd20/.m2/repository/org/springframework/spring-web/2.0/spring-web-2.0.jar, file:/home/ojd20/.m2/repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar, file:/home/ojd20/.m2/repository/com/javaforge/tapestry/tapestry-prop/1.0.0-SNAPSHOT/tapestry-prop-1.0.0-SNAPSHOT.jar, file:/home/ojd20/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar, file:/home/ojd20/.m2/repository/com/javaforge/tapestry/tapestry-spring/0.1.2/tapestry-spring-0.1.2.jar, file:/home/ojd20/.m2/repository/icu4j/icu4j/3.4/icu4j-3.4.jar, file:/home/ojd20/.m2/repository/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar, file:/home/ojd20/.m2/repository/ognl/ognl/2.6.7/ognl-2.6.7.jar, file:/home/ojd20/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.ja
r, file:/home/ojd20/.m2/repository/org/springframework/spring-beans/2.0/spring-beans-2.0.jar, file:/home/ojd20/.m2/repository/net/sf/jniinchi/0.1.1/jniinchi-0.1.1.jar]
> 2006-12-14 15:23:50.278::WARN:  failed ContextHandler@1cfb802{/spectrasub,file:/home/ojd20/projects/spectra/eclipse-workspace/spectrasub/src/main/webapp/}
> org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
> 	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
> 	at org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:139)
> 	at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:57)
> 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
> 	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
> 	at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
> 	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1079)
> 	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
> 	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:410)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:120)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:119)
> 	at org.mortbay.jetty.Server.doStart(Server.java:226)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:134)
> 	at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:327)
> 	at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:272)
> 	at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:177)
> 	at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:183)
> 	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:488)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:458)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
> 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
> 	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:585)
> 	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> 	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> 	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> 	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:432)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
> 	... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
> 	at java.lang.Class.getDeclaredConstructors0(Native Method)
> 	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
> 	at java.lang.Class.getConstructor0(Class.java:2640)
> 	at java.lang.Class.getConstructor(Class.java:1629)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:429)
> 	... 44 more
> 2006-12-14 15:23:50.282::WARN:  failed ContextHandlerCollection@39c8c1
> org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
> 	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
> 	at org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:139)
> 	at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:57)
> 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
> 	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
> 	at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
> 	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1079)
> 	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
> 	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:410)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:120)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:119)
> 	at org.mortbay.jetty.Server.doStart(Server.java:226)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:134)
> 	at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:327)
> 	at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:272)
> 	at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:177)
> 	at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:183)
> 	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:488)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:458)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
> 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
> 	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:585)
> 	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> 	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> 	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> 	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:432)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
> 	... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
> 	at java.lang.Class.getDeclaredConstructors0(Native Method)
> 	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
> 	at java.lang.Class.getConstructor0(Class.java:2640)
> 	at java.lang.Class.getConstructor(Class.java:1629)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:429)
> 	... 44 more
> 2006-12-14 15:23:50.285::WARN:  failed HandlerCollection@1ab2b55
> org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
> 	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
> 	at org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:139)
> 	at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:57)
> 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
> 	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
> 	at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
> 	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1079)
> 	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
> 	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:410)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:120)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:119)
> 	at org.mortbay.jetty.Server.doStart(Server.java:226)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:134)
> 	at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:327)
> 	at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:272)
> 	at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:177)
> 	at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:183)
> 	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:488)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:458)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
> 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
> 	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:585)
> 	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> 	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> 	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> 	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:432)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
> 	... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
> 	at java.lang.Class.getDeclaredConstructors0(Native Method)
> 	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
> 	at java.lang.Class.getConstructor0(Class.java:2640)
> 	at java.lang.Class.getConstructor(Class.java:1629)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:429)
> 	... 44 more
> 2006-12-14 15:23:50.301::INFO:  Started SelectChannelConnector @ 0.0.0.0:8084
> 2006-12-14 15:23:50.301::WARN:  failed Server@9fa8f
> org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
> 	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
> 	at org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:139)
> 	at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:57)
> 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
> 	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
> 	at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
> 	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1079)
> 	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
> 	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:410)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:120)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:119)
> 	at org.mortbay.jetty.Server.doStart(Server.java:226)
> 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
> 	at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:134)
> 	at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:327)
> 	at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:272)
> 	at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:177)
> 	at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:183)
> 	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:488)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:458)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
> 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
> 	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:585)
> 	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> 	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> 	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> 	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:432)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
> 	... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
> 	at java.lang.Class.getDeclaredConstructors0(Native Method)
> 	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
> 	at java.lang.Class.getConstructor0(Class.java:2640)
> 	at java.lang.Class.getConstructor(Class.java:1629)
> 	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:429)
> 	... 44 more
> [INFO] Jetty server exiting.
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failure
> 
> Embedded error: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> org/apache/log4j/Logger
> [INFO] ------------------------------------------------------------------------
> [INFO] For more information, run Maven with the -e switch
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 5 seconds
> [INFO] Finished at: Thu Dec 14 15:23:50 GMT 2006
> [INFO] Final Memory: 7M/14M
> [INFO] ------------------------------------------------------------------------
> 2006-12-14 15:23:50.415::INFO:  Shutdown hook executing
> 2006-12-14 15:23:50.415::INFO:  Shutdown hook complete
> 
> 
> ------------------------------------------------------------------------
> 
> <?xml version="1.0" encoding="UTF-8"?><project>
>   <modelVersion>4.0.0</modelVersion>
>   <groupId>uk.ac.cam.spectra</groupId>
>   <artifactId>spectrasub</artifactId>
>   <packaging>war</packaging>
>   <version>0.0.1</version>
>   <description></description>
>   <url>http://www.lib.cam.ac.uk/spectra/</url>
>   <inceptionYear>2006</inceptionYear>
>   <developers>
>     <developer>
>       <id>ojd20</id>
>       <name>Jim Downing</name>
>       <email>ojd20@cam.ac.uk</email>
>       <url>http://wwmm.ch.cam.ac.uk/blogs/downing/</url>
>       <organization>University of Cambridge</organization>
>       <organizationUrl>http://www.cam.ac.uk/</organizationUrl>
>     </developer>
>   </developers>
>   <contributors>
>     <contributor>
>       <name>Alan Tonge</name>
>       <email>apt24@cam.ac.uk</email>
>       <organization>University of Cambridge</organization>
>       <organizationUrl>http://www.cam.ac.uk/</organizationUrl>
>       <roles>
>         <role>Project manager</role>
>         <role>Requirements analysis</role>
>         <role>Testing</role>
>       </roles>
>     </contributor>
>   </contributors>
>   <licenses>
>     <license>
>       <name>Artistic License</name>
>       <url>http://www.opensource.org/licenses/artistic-license.php</url>
>       <distribution>repo</distribution>
>     </license>
>   </licenses>
>   <scm>
>     <connection>scm:svn:https://wwmm.ch.cam.ac.uk/svn/groups/murrayrust/spectrasub/trunk</connection>
>     <url>https://wwmm.ch.cam.ac.uk/svn/groups/murrayrust/spectrasub/trunk</url>
>   </scm>
>   <organization>
>     <name>The SPECTRa Project</name>
>     <url>http://www.lib.cam.ac.uk/spectra/</url>
>   </organization>
>   <build>
>     <finalName>spectrasub</finalName>
>     <plugins>
>       <plugin>
>         <artifactId>maven-compiler-plugin</artifactId>
>         <configuration>
>           <source>1.5</source>
>           <target>1.5</target>
>         </configuration>
>       </plugin>
>       <plugin>
>         <artifactId>maven-surefire-plugin</artifactId>
>         <version>2.3-SNAPSHOT</version>
>         <configuration>
>           <testFailureIgnore>false</testFailureIgnore>
>         </configuration>
>       </plugin>
>       <plugin>
>         <groupId>org.mortbay.jetty</groupId>
>         <artifactId>maven-jetty-plugin</artifactId>
>         <configuration>
>           <scanIntervalSeconds>5</scanIntervalSeconds>
>           <connectors>
>             <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
>               <port>8084</port>
>               <maxIdleTime>60000</maxIdleTime>
>             </connector>
>           </connectors>
>         </configuration>
>       </plugin>
>       <plugin>
>         <groupId>org.codehaus.mojo</groupId>
>         <artifactId>cobertura-maven-plugin</artifactId>
>         <executions>
>           <execution>
>             <goals>
>               <goal>clean</goal>
>             </goals>
>           </execution>
>         </executions>
>         <configuration>
>           <instrumentation>
>             <excludes>
>               <exclude>uk/ac/cam/spectra/spectrasub/pages/*</exclude>
>               <exclude>uk/ac/cam/spectra/**/*Exception.class</exclude>
>             </excludes>
>           </instrumentation>
>         </configuration>
>       </plugin>
>     </plugins>
>   </build>
>   <repositories>
>     <repository>
>       <id>hls</id>
>       <name>Howard Lewis Ship's Repo</name>
>       <url>http://howardlewisship.com/repository/</url>
>     </repository>
>     <repository>
>       <snapshots />
>       <id>wwmm</id>
>       <name>WWMM Maven2</name>
>       <url>http://wwmm.ch.cam.ac.uk/maven2</url>
>     </repository>
>   </repositories>
>   <pluginRepositories>
>     <pluginRepository>
>       <id>mortbay-repo</id>
>       <name>mortbay-repo</name>
>       <url>http://www.mortbay.org/maven2/snapshot</url>
>     </pluginRepository>
>     <pluginRepository>
>       <releases>
>         <enabled>false</enabled>
>       </releases>
>       <snapshots />
>       <id>apache.org</id>
>       <name>Maven Snapshots</name>
>       <url>http://people.apache.org/maven-snapshot-repository</url>
>     </pluginRepository>
>   </pluginRepositories>
>   <dependencies>
>     <dependency>
>       <groupId>cml</groupId>
>       <artifactId>jumbo</artifactId>
>       <version>5.3-beta1</version>
>     </dependency>
>     <dependency>
>       <groupId>com.javaforge.tapestry</groupId>
>       <artifactId>tapestry-prop</artifactId>
>       <version>1.0.0-SNAPSHOT</version>
>       <exclusions>
>         <exclusion>
>           <artifactId>tapestry</artifactId>
>           <groupId>tapestry</groupId>
>         </exclusion>
>       </exclusions>
>     </dependency>
>     <dependency>
>       <groupId>com.javaforge.tapestry</groupId>
>       <artifactId>tapestry-spring</artifactId>
>       <version>0.1.2</version>
>       <exclusions>
>         <exclusion>
>           <artifactId>tapestry</artifactId>
>           <groupId>tapestry</groupId>
>         </exclusion>
>         <exclusion>
>           <artifactId>tapestry-annotations</artifactId>
>           <groupId>tapestry</groupId>
>         </exclusion>
>       </exclusions>
>     </dependency>
>     <dependency>
>       <groupId>commons-digester</groupId>
>       <artifactId>commons-digester</artifactId>
>       <version>1.7</version>
>       <scope>compile</scope>
>     </dependency>
>     <dependency>
>       <groupId>log4j</groupId>
>       <artifactId>log4j</artifactId>
>       <version>1.2.6</version>
>       <scope>compile</scope>
>     </dependency>
>     <dependency>
>       <groupId>net.sourceforge</groupId>
>       <artifactId>jcamp-dx</artifactId>
>       <version>0.1</version>
>     </dependency>
>     <dependency>
>       <groupId>net.sourceforge.jena</groupId>
>       <artifactId>jena</artifactId>
>       <version>2.4</version>
>     </dependency>    
>     <dependency>
>       <groupId>org.apache.tapestry</groupId>
>       <artifactId>tapestry-annotations</artifactId>
>       <version>4.1</version>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.tapestry</groupId>
>       <artifactId>tapestry-framework</artifactId>
>       <version>4.1</version>
>     </dependency>
>     <dependency>
>       <groupId>org.easymock</groupId>
>       <artifactId>easymockclassextension</artifactId>
>       <version>2.2</version>
>       <scope>test</scope>
>     </dependency>
>     <dependency>
>       <groupId>org.ostermiller</groupId>
>       <artifactId>ostermillerutils</artifactId>
>       <version>1.06</version>
>       <scope>compile</scope>
>     </dependency>
>     <dependency>
>       <groupId>org.springframework</groupId>
>       <artifactId>spring-beans</artifactId>
>       <version>2.0</version>
>     </dependency>
>     <dependency>
>       <groupId>org.springframework</groupId>
>       <artifactId>spring-core</artifactId>
>       <version>2.0</version>
>     </dependency>
>     <dependency>
>       <groupId>org.springframework</groupId>
>       <artifactId>spring-web</artifactId>
>       <version>2.0</version>
>     </dependency>
>     <dependency>
>       <groupId>org.testng</groupId>
>       <artifactId>testng</artifactId>
>       <version>5.1</version>
>       <classifier>jdk15</classifier>
>       <scope>test</scope>
>     </dependency>
>     <dependency>
>       <groupId>xom</groupId>
>       <artifactId>xom</artifactId>
>       <version>1.1</version>
>     </dependency>
>   </dependencies>
>   <reporting>
>     <plugins>
>       <plugin>
>         <artifactId>maven-project-info-reports-plugin</artifactId>
>         <configuration></configuration>
>         <reportSets>
>           <reportSet>
>             <reports>
>               <report>license</report>
>               <report>project-team</report>
>               <report>dependencies</report>
>               <report>index</report>
>               <report>summary</report>
>             </reports>
>           </reportSet>
>         </reportSets>
>       </plugin>
>       <plugin>
>         <groupId>org.codehaus.mojo</groupId>
>         <artifactId>cobertura-maven-plugin</artifactId>
>       </plugin>
>     </plugins>
>   </reporting>
> </project>
> 
> 
> ------------------------------------------------------------------------
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org




-- 
Dennis Lundberg

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Clogging NoClassDefFoundError

Posted by Wayne Fay <wa...@gmail.com>.
Hmm in that case, I really have no idea why its failing. I don't use
Jetty much less jetty:run.

To be honest, it sounds like a Jetty question, since clogging and
log4j are clearly on the Jetty classpath.

Wayne

On 12/15/06, Jim Downing <ji...@pobox.com> wrote:
> Wayne Fay wrote:
> > Check the log4j-xyz.jar version referenced in your MANIFEST.MF and WEB
> > config files against the log4j jar versions you've got in your WAR.
> >
> > This can happen when you for example reference log4j-1.2.2.jar in your
> > MANIFEST but then load log4j-1.2.3.jar in your WAR.
> > <dependencyManagement> in a parent pom can help solve this problem.
>
> I'm a bit confused which MANIFEST you mean. I've referenced log4j 1.2.12
> in my pom.xml (new pom attached), and that's the one that's ended up in
> my WAR. There's no mention of any dependencies in my WAR's MANIFEST.MF.
>
> Any ideas what the root cause of this is? How come jetty can list the
> log4j jar and then not load classes from it?
>
> Thanks for the help!
> jim
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Clogging NoClassDefFoundError

Posted by Jim Downing <ji...@pobox.com>.
Wayne Fay wrote:
> Check the log4j-xyz.jar version referenced in your MANIFEST.MF and WEB
> config files against the log4j jar versions you've got in your WAR.
>
> This can happen when you for example reference log4j-1.2.2.jar in your
> MANIFEST but then load log4j-1.2.3.jar in your WAR.
> <dependencyManagement> in a parent pom can help solve this problem.

I'm a bit confused which MANIFEST you mean. I've referenced log4j 1.2.12 
in my pom.xml (new pom attached), and that's the one that's ended up in 
my WAR. There's no mention of any dependencies in my WAR's MANIFEST.MF.

Any ideas what the root cause of this is? How come jetty can list the 
log4j jar and then not load classes from it?

Thanks for the help!
jim





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Clogging NoClassDefFoundError

Posted by Wayne Fay <wa...@gmail.com>.
Check the log4j-xyz.jar version referenced in your MANIFEST.MF and WEB
config files against the log4j jar versions you've got in your WAR.

This can happen when you for example reference log4j-1.2.2.jar in your
MANIFEST but then load log4j-1.2.3.jar in your WAR.
<dependencyManagement> in a parent pom can help solve this problem.

Wayne

On 12/14/06, Jim Downing <oj...@cam.ac.uk> wrote:
> Hi,
>
> I'm having problems with the jetty plugin - on running 'mvn jetty:run' I
> get a mysterious exception from clogging that is caused at some point by
> a NoClassDefFoundError complaining that it can't find log4j. Log4j is
> referenced by the project, ends up in the package war and is also listed
> by jetty as being on the classpath when it starts up, so I'm stumped why
> this is happening.
>
> Excerpt (full stack and my pom attached): -
>
> org.apache.commons.logging.LogConfigurationException:
> org.apache.commons.logging.LogConfigurationException: No suitable Log
> constructor [Ljava.lang.Class;@b3f9b8 for
> org.apache.commons.logging.impl.Log4JLogger
>        at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
> ...
>       at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
>        ... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
>        at java.lang.Class.getDeclaredConstructors0(Native Method)
>
> Thanks for any help you could give.
>
> jim
>
>
> [INFO] Scanning for projects...
> [INFO] Searching repository for plugin with prefix: 'jetty'.
> [INFO] ----------------------------------------------------------------------------
> [INFO] Building Unnamed - uk.ac.cam.spectra:spectrasub:war:0.0.1
> [INFO]    task-segment: [jetty:run]
> [INFO] ----------------------------------------------------------------------------
> [INFO] Preparing jetty:run
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:compile]
> [INFO] Nothing to compile - all classes are up to date
> [INFO] [jetty:run]
> [INFO] Configuring Jetty for project: Unnamed - uk.ac.cam.spectra:spectrasub:war:0.0.1
> [INFO] Webapp source directory = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/src/main/webapp
> [INFO] web.xml file = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/src/main/webapp/WEB-INF/web.xml
> [INFO] Classes = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/target/classes
> 2006-12-14 15:23:48.966::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
> [INFO] Context path = /spectrasub
> [INFO] Tmp directory = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/target/work
> [INFO] Web defaults =  jetty default
> [INFO] Webapp directory = /home/ojd20/projects/spectra/eclipse-workspace/spectrasub/src/main/webapp
> [INFO] Starting jetty 6.1-SNAPSHOT ...
> 2006-12-14 15:23:49.071::INFO:  jetty-6.1-SNAPSHOT
> [INFO] Classpath = [file:/home/ojd20/projects/spectra/eclipse-workspace/spectrasub/target/classes/, file:/home/ojd20/.m2/repository/net/sourceforge/jcamp-dx/0.1/jcamp-dx-0.1.jar, file:/home/ojd20/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/home/ojd20/.m2/repository/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar, file:/home/ojd20/.m2/repository/net/sourceforge/jena/jena/2.4/jena-2.4.jar, file:/home/ojd20/.m2/repository/regexp/regexp/1.2/regexp-1.2.jar, file:/home/ojd20/.m2/repository/org/apache/tapestry/tapestry-framework/4.1/tapestry-framework-4.1.jar, file:/home/ojd20/.m2/repository/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar, file:/home/ojd20/.m2/repository/org/ostermiller/ostermillerutils/1.06/ostermillerutils-1.06.jar, file:/home/ojd20/.m2/repository/commons-io/commons-io/1.1/commons-io-1.1.jar, file:/home/ojd20/.m2/repository/commons-digester/commons-digester/1.7/commons-digester-1.7.jar, file:/home/ojd20/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar, file:/home/ojd20/.m2/repository/commons-fileupload/commons-fileupload/1.1/commons-fileupload-1.1.jar, file:/home/ojd20/.m2/repository/hivemind/hivemind-lib/1.1.1/hivemind-lib-1.1.1.jar, file:/home/ojd20/.m2/repository/xom/xom/1.1/xom-1.1.jar, file:/home/ojd20/.m2/repository/cml/jumbo/5.3-beta1/jumbo-5.3-beta1.jar, file:/home/ojd20/.m2/repository/xalan/xalan/2.7.0/xalan-2.7.0.jar, file:/home/ojd20/.m2/repository/java3d/vecmath/1.3.1/vecmath-1.3.1.jar, file:/home/ojd20/.m2/repository/hivemind/hivemind/1.1.1/hivemind-1.1.1.jar, file:/home/ojd20/.m2/repository/stax/stax-api/1.0/stax-api-1.0.jar, file:/home/ojd20/.m2/repository/net/sourceforge/jena/iri/1.0/iri-1.0.jar, file:/home/ojd20/.m2/repository/org/springframework/spring-context/2.0/spring-context-2.0.jar, file:/home/ojd20/.m2/repository/woodstox/wstx-asl/2.8/wstx-asl-2.8.jar, file:/home/ojd20/.m2/repository/antlr/antlr/2.7.2/antlr-2.7.2.jar, file:/home/ojd20/.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar, file:/home/ojd20/.m2/repository/org/springframework/spring-core/2.0/spring-core-2.0.jar, file:/home/ojd20/.m2/repository/jboss/javassist/3.0/javassist-3.0.jar, file:/home/ojd20/.m2/repository/commons-collections/commons-collections/2.1/commons-collections-2.1.jar, file:/home/ojd20/.m2/repository/org/springframework/spring-aop/2.0/spring-aop-2.0.jar, file:/home/ojd20/.m2/repository/junit/junit/3.8/junit-3.8.jar, file:/home/ojd20/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar, file:/home/ojd20/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar, file:/home/ojd20/.m2/repository/cml/cifdom/20061009/cifdom-20061009.jar, file:/home/ojd20/.m2/repository/jaxen/jaxen/1.1-beta-8/jaxen-1.1-beta-8.jar, file:/home/ojd20/.m2/repository/org/apache/tapestry/tapestry-annotations/4.1/tapestry-annotations-4.1.jar, file:/home/ojd20/.m2/repository/net/sourceforge/jena/arq/1.4/arq-1.4.jar, file:/home/ojd20/.m2/repository/jdom/jdom/1.0/jdom-1.0.jar, file:/home/ojd20/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar, file:/home/ojd20/.m2/repository/log4j/log4j/1.2.6/log4j-1.2.6.jar, file:/home/ojd20/.m2/repository/org/json/json/1.0/json-1.0.jar, file:/home/ojd20/.m2/repository/org/springframework/spring-web/2.0/spring-web-2.0.jar, file:/home/ojd20/.m2/repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.jar, file:/home/ojd20/.m2/repository/com/javaforge/tapestry/tapestry-prop/1.0.0-SNAPSHOT/tapestry-prop-1.0.0-SNAPSHOT.jar, file:/home/ojd20/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar, file:/home/ojd20/.m2/repository/com/javaforge/tapestry/tapestry-spring/0.1.2/tapestry-spring-0.1.2.jar, file:/home/ojd20/.m2/repository/icu4j/icu4j/3.4/icu4j-3.4.jar, file:/home/ojd20/.m2/repository/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar, file:/home/ojd20/.m2/repository/ognl/ognl/2.6.7/ognl-2.6.7.jar, file:/home/ojd20/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar, file:/home/ojd20/.m2/repository/org/springframework/spring-beans/2.0/spring-beans-2.0.jar, file:/home/ojd20/.m2/repository/net/sf/jniinchi/0.1.1/jniinchi-0.1.1.jar]
> 2006-12-14 15:23:50.278::WARN:  failed ContextHandler@1cfb802{/spectrasub,file:/home/ojd20/projects/spectra/eclipse-workspace/spectrasub/src/main/webapp/}
> org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
>        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
>        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
>        at org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:139)
>        at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:57)
>        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
>        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
>        at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
>        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1079)
>        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
>        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:410)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
>        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:120)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:119)
>        at org.mortbay.jetty.Server.doStart(Server.java:226)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:134)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:327)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:272)
>        at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:177)
>        at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:183)
>        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:488)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:458)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>        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:585)
>        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
>        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:432)
>        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
>        ... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
>        at java.lang.Class.getDeclaredConstructors0(Native Method)
>        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
>        at java.lang.Class.getConstructor0(Class.java:2640)
>        at java.lang.Class.getConstructor(Class.java:1629)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:429)
>        ... 44 more
> 2006-12-14 15:23:50.282::WARN:  failed ContextHandlerCollection@39c8c1
> org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
>        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
>        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
>        at org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:139)
>        at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:57)
>        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
>        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
>        at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
>        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1079)
>        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
>        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:410)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
>        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:120)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:119)
>        at org.mortbay.jetty.Server.doStart(Server.java:226)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:134)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:327)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:272)
>        at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:177)
>        at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:183)
>        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:488)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:458)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>        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:585)
>        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
>        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:432)
>        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
>        ... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
>        at java.lang.Class.getDeclaredConstructors0(Native Method)
>        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
>        at java.lang.Class.getConstructor0(Class.java:2640)
>        at java.lang.Class.getConstructor(Class.java:1629)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:429)
>        ... 44 more
> 2006-12-14 15:23:50.285::WARN:  failed HandlerCollection@1ab2b55
> org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
>        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
>        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
>        at org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:139)
>        at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:57)
>        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
>        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
>        at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
>        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1079)
>        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
>        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:410)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
>        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:120)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:119)
>        at org.mortbay.jetty.Server.doStart(Server.java:226)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:134)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:327)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:272)
>        at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:177)
>        at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:183)
>        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:488)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:458)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>        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:585)
>        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
>        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:432)
>        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
>        ... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
>        at java.lang.Class.getDeclaredConstructors0(Native Method)
>        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
>        at java.lang.Class.getConstructor0(Class.java:2640)
>        at java.lang.Class.getConstructor(Class.java:1629)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:429)
>        ... 44 more
> 2006-12-14 15:23:50.301::INFO:  Started SelectChannelConnector @ 0.0.0.0:8084
> 2006-12-14 15:23:50.301::WARN:  failed Server@9fa8f
> org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
>        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
>        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
>        at org.springframework.web.context.ContextLoader.<init>(ContextLoader.java:139)
>        at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:57)
>        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
>        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:450)
>        at org.mortbay.jetty.servlet.Context.startContext(Context.java:124)
>        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1079)
>        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:420)
>        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:410)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
>        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:120)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:156)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:119)
>        at org.mortbay.jetty.Server.doStart(Server.java:226)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>        at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:134)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:327)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:272)
>        at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:177)
>        at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:183)
>        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:488)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:458)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
>        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>        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:585)
>        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
>        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:432)
>        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
>        ... 43 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
>        at java.lang.Class.getDeclaredConstructors0(Native Method)
>        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
>        at java.lang.Class.getConstructor0(Class.java:2640)
>        at java.lang.Class.getConstructor(Class.java:1629)
>        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:429)
>        ... 44 more
> [INFO] Jetty server exiting.
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failure
>
> Embedded error: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@b3f9b8 for org.apache.commons.logging.impl.Log4JLogger
> org/apache/log4j/Logger
> [INFO] ------------------------------------------------------------------------
> [INFO] For more information, run Maven with the -e switch
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 5 seconds
> [INFO] Finished at: Thu Dec 14 15:23:50 GMT 2006
> [INFO] Final Memory: 7M/14M
> [INFO] ------------------------------------------------------------------------
> 2006-12-14 15:23:50.415::INFO:  Shutdown hook executing
> 2006-12-14 15:23:50.415::INFO:  Shutdown hook complete
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org