Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[m2e-users] Get "java.lang.NoClassDefFoundError" though the class is in the classpath

As I run mvn clean install I got exception as follow:

...
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.937s
[INFO] Finished at: Wed Sep 07 15:35:37 CEST 2011
[INFO] Final Memory: 8M/20M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:jaxws-maven-plugin:1.10:wsgen (default) on project TestWebService: Failed to execute wsgen:
 com/sun/mirror/apt/AnnotationProcessorFactory: com.sun.mirror.apt.AnnotationProcessorFactory -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:jaxws-maven-plugin:1.10:wsgen (default) on
project TestWebService: Failed to execute wsgen
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to execute wsgen
        at org.codehaus.mojo.jaxws.AbstractWsGenMojo.execute(AbstractWsGenMojo.java:102)
        at org.codehaus.mojo.jaxws.MainWsGenMojo.execute(MainWsGenMojo.java:14)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        ... 19 more
Caused by: java.lang.NoClassDefFoundError: com/sun/mirror/apt/AnnotationProcessorFactory
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:386)
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
        at com.sun.tools.ws.WsGen.doMain(WsGen.java:69)
        at org.codehaus.mojo.jaxws.AbstractWsGenMojo.execute(AbstractWsGenMojo.java:97)
        ... 22 more
Caused by: java.lang.ClassNotFoundException: com.sun.mirror.apt.AnnotationProcessorFactory
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
        ... 37 more
...

I know the class "com.sun.mirror.apt.AnnotationProcessorFactory" is in the tools.jar so I've add the dependency in the pom.xml as follow:

..
        <dependency>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>C:/Program Files/Java/jdk1.7.0/lib/tools.jar</systemPath>
        </dependency>
...

As I run mvn dependency:build-classpath to check the included jars I can see the tools.jar in included. See below (the first one):

C:\Program Files\Java\jdk1.7.0\lib\tools.jar;d:\daten\maven2-local\com\sun\org\apache\xml\internal\resolver\20050927\resolver-20050927.jar;d
:\daten\maven2-local\com\sun\xml\bind\jaxb-impl\2.1.9\jaxb-impl-2.1.9.jar;d:\daten\maven2-local\com\sun\xml\stream\buffer\streambuffer\0.8\s
treambuffer-0.8.jar;d:\daten\maven2-local\com\sun\xml\ws\jaxws-rt\2.1.5\jaxws-rt-2.1.5.jar;d:\daten\maven2-local\commons-logging\commons-log
ging\1.1.1\commons-logging-1.1.1.jar;d:\daten\maven2-local\javax\activation\activation\1.1\activation-1.1.jar;d:\daten\maven2-local\javax\an
notation\jsr250-api\1.0\jsr250-api-1.0.jar;d:\daten\maven2-local\javax\jws\jsr181-api\1.0-MR1\jsr181-api-1.0-MR1.jar;d:\daten\maven2-local\j
avax\xml\bind\jaxb-api\2.1\jaxb-api-2.1.jar;d:\daten\maven2-local\javax\xml\stream\stax-api\1.0-2\stax-api-1.0-2.jar;d:\daten\maven2-local\j
avax\xml\ws\jaxws-api\2.1\jaxws-api-2.1.jar;d:\daten\maven2-local\junit\junit\3.8.1\junit-3.8.1.jar;d:\daten\mave n2-local\org\jvnet\mimepull
\1.3\mimepull-1.3.jar;d:\daten\maven2-local\org\jvnet\staxex\stax-ex\1.2\stax-ex-1.2.jar;d:\daten\maven2-local\woodstox\wstx-asl\3.2.3\wstx-
asl-3.2.3.jar


Why I still get the ClassNotFoundException ?

Regards

Thomas

Back to the top