开发者

JAXB + JAK java.lang.ClassCastException

I read page about JAK implementation where is a piece of code from pom.xml file (Listing 1). This piece of code is actually commented in pom.xml file so i uncommented it in order to add my own schema to compile. After that i run command mvn -e clean install, and i get this error:

ivansek ~/Sites/Xlab/KMLTest/javaapiforkml-read-only $ mvn -e clean install
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building a Java API for Kml
[INFO]    task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [antrun:run {execution: xjc-invocation}]
[INFO] Executing tasks
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] An Ant BuildException has occured: java.util.ServiceConfigurationError: com.sun.tools.xjc.Plugin: Provider org.jvnet.jaxb2_commons.javaforkmlapi.XJCJavaForKmlApiPlugin could not be instantiated: java.lang.ClassCastException

[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: An Ant BuildException has occured: java.util.ServiceConfigurationError: com.sun.tools.xjc.Plugin: Provider org.jvnet.jaxb2_commons.javaforkmlapi.XJCJavaForKmlApiPlugin could not be instantiated: java.lang.ClassCastException
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
 at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
 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.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.maven.plugin.MojoExecutionException: An Ant BuildException has occured: java.util.ServiceConfigurationError: com.sun.tools.xjc.Plugin: Provider org.jvnet.jaxb2_commons.javaforkmlapi.XJCJavaForKmlApiPlugin could not be instantiated: java.lang.ClassCastException
 at org.apache.maven.plugin.antrun.AbstractAntMojo.executeTasks(AbstractAntMojo.java:131)
 at org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:98)
 at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
 at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
 ... 17 more
Caused by: java.util.ServiceConfigurationError: com.sun.tools.xjc.Plugin: Provider org.jvnet.jaxb2_commons.javaforkmlapi.XJCJavaForKmlApiPlugin could not be instantiated: java.lang.ClassCastException
 at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:116)
 at org.apache.tools.ant.Task.perform(Task.java:348)
 at org.apache.tools.ant.Target.execute(Target.java:357)
 at org.apache.maven.plugin.antrun.AbstractAntMojo.executeTasks(AbstractAntMojo.java:118)
 ... 20 more
Caused by: java.util.ServiceConfigurationError: com.sun.tools.xjc.Plugin: Provider org.jvnet.jaxb2_commons.javaforkmlapi.XJCJavaForKmlApiPlugin could not be instantiated: java.lang.ClassCastException
 at java.util.ServiceLoader.fail(ServiceLoader.java:207)
 at java.util.ServiceLoader.access$100(ServiceLoader.java:164)
 at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:353)
 at java.util.ServiceLoader$1.next(ServiceLoader.java:421)
 at com.sun.tools.xjc.Options.findServices(Options.java:910)
 at com.sun.tools.xjc.Options.getAllPlugins(Options.java:351)
 at com.sun.tools.xjc.Options.parseArgument(Options.java:650)
 at com.sun.tools.xjc.Options.parseArguments(Options.java:760)
 at com.sun.tools.xjc.XJC2Task._doXJC(XJC2Task.java:453)
 at com.sun.tools.xjc.XJC2Task.doXJC(XJC2Task.java:443)
 at com.sun.tools.xjc.XJC2Task.execute(XJC2Task.java:369)
 at com.sun.istack.tools.ProtectedTask.execute(ProtectedTask.java:55)
 at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessor开发者_高级运维Impl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 ... 23 more
Caused by: java.lang.ClassCastException
 at java.lang.Class.cast(Class.java:2990)
 at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:345)
 ... 38 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Thu May 13 09:53:19 CEST 2010
[INFO] Final Memory: 16M/79M
[INFO] ------------------------------------------------------------------------

Any suggestions?


Looks like a JAXB version hell problem, the same as the one mentioned in the thread XJC:Plugin Custom plugin causes ClassCastException: the JAK plugin relies on JAXB 2.2 but your JDK has another version.

Try to install JAXB 2.2 (with the endorsed mechanism). See Migrating JAXB 2.0 applications to JavaSE 6.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜