0

xjc tool configuration on my ant build.xml is

<xjc destdir="${src.java.generated.dir}" package="task.config" readonly="false" removeOldOutput="yes" extension="true">
            <classpath>
                <pathelement location="${libs.dir}/jaxb/jaxb-xjc-4.0.2.jar"/>
            <pathelement location="${libs.dir}/jaxb/jaxb-jxc-4.0.2.jar"/>
            <pathelement location="${libs.dir}/jaxb/jaxb-core-4.0.2.jar"/>
            <pathelement location="${libs.dir}/jaxb/jaxb-impl-4.0.2.jar"/>
            </classpath>
            <schema dir="${config.location}" includes="task.xsd" />
            <binding dir="${config.location}" includes="task.xjb" />
            <produces dir="${src.java.generated.dir}/task/config" />
            <arg value="-no-header" />
        </xjc>

The error i am getting is as below

build.xml:91: java.lang.Error: java.lang.reflect.InvocationTargetException
19:22:13    at com.sun.tools.xjc.reader.Ring.get(Ring.java:113)
19:22:13    at com.sun.tools.xjc.reader.xmlschema.BGMBuilder.<init>(BGMBuilder.java:144)
19:22:13    at com.sun.tools.xjc.reader.xmlschema.BGMBuilder.build(BGMBuilder.java:114)
19:22:13    at com.sun.tools.xjc.ModelLoader.annotateXMLSchema(ModelLoader.java:415)
19:22:13    at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:167)
19:22:13    at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:113)
19:22:13    at com.sun.tools.xjc.XJC2Task._doXJC(XJC2Task.java:496)
19:22:13    at com.sun.tools.xjc.XJC2Task.doXJC(XJC2Task.java:443)
19:22:13    at com.sun.tools.xjc.XJC2Task.execute(XJC2Task.java:369)
19:22:13    at com.sun.istack.tools.ProtectedTask.execute(ProtectedTask.java:55)
19:22:13    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
19:22:13    at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
19:22:13    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
19:22:13    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
19:22:13    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
19:22:13    at org.apache.tools.ant.Task.perform(Task.java:348)
19:22:13    at org.apache.tools.ant.Target.execute(Target.java:435)
19:22:13    at org.apache.tools.ant.Target.performTasks(Target.java:456)
19:22:13    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
19:22:13    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
19:22:13    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
19:22:13    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
19:22:13    at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
19:22:13    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
19:22:13    at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
19:22:13    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
19:22:13    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
19:22:13    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
19:22:13    at org.apache.tools.ant.Task.perform(Task.java:348)
19:22:13    at org.apache.tools.ant.Target.execute(Target.java:435)
19:22:13    at org.apache.tools.ant.Target.performTasks(Target.java:456)
19:22:13    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
19:22:13    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
19:22:13    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
19:22:13    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
19:22:13    at org.apache.tools.ant.AntBridge.call(AntBridge.java:61)
19:22:13    at org.apache.tools.ant.AntBridge.call(AntBridge.java:17)
19:22:13    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
19:22:13    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
19:22:13    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
19:22:13    at java.base/java.lang.Thread.run(Thread.java:834)
19:22:13 Caused by: java.lang.reflect.InvocationTargetException
19:22:13    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
19:22:13    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
19:22:13    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
19:22:13    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
19:22:13    at com.sun.tools.xjc.reader.Ring.get(Ring.java:102)
19:22:13    ... 40 more
19:22:13 Caused by: java.lang.Error: java.lang.reflect.InvocationTargetException
19:22:13    at com.sun.tools.xjc.reader.Ring.get(Ring.java:113)
19:22:13    at com.sun.tools.xjc.reader.xmlschema.BindingComponent.getClassSelector(BindingComponent.java:61)
19:22:13    at com.sun.tools.xjc.reader.xmlschema.ColorBinder.<init>(ColorBinder.java:58)
19:22:13    at com.sun.tools.xjc.reader.xmlschema.BindGreen.<init>(BindGreen.java:59)
19:22:13    ... 45 more
19:22:13 Caused by: java.lang.reflect.InvocationTargetException
19:22:13    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
19:22:13    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
19:22:13    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
19:22:13    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
19:22:13    at com.sun.tools.xjc.reader.Ring.get(Ring.java:102)
19:22:13    ... 48 more
19:22:13 Caused by: java.lang.NoSuchFieldError: REFLECTION
19:22:13    at com.sun.tools.xjc.model.nav.NavigatorImpl.getBaseClass(NavigatorImpl.java:70)
19:22:13    at com.sun.tools.xjc.model.nav.NavigatorImpl.getBaseClass(NavigatorImpl.java:55)
19:22:13    at com.sun.xml.bind.v2.model.core.Adapter.<init>(Adapter.java:88)
19:22:13    at com.sun.tools.xjc.model.CAdapter.<init>(CAdapter.java:78)
19:22:13    at com.sun.tools.xjc.model.TypeUseFactory.adapt(TypeUseFactory.java:91)
19:22:13    at com.sun.tools.xjc.model.CBuiltinLeafInfo.makeAdapted(CBuiltinLeafInfo.java:175)
19:22:13    at com.sun.tools.xjc.model.CBuiltinLeafInfo.<clinit>(CBuiltinLeafInfo.java:303)
19:22:13    at com.sun.tools.xjc.reader.xmlschema.SimpleTypeBuilder.<clinit>(SimpleTypeBuilder.java:880)
19:22:13    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
19:22:13    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
19:22:13    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
19:22:13    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
19:22:13    at com.sun.tools.xjc.reader.Ring.get(Ring.java:102)
19:22:13    at com.sun.tools.xjc.reader.xmlschema.DefaultClassBinder.<init>(DefaultClassBinder.java:93)
19:22:13    at com.sun.tools.xjc.reader.xmlschema.ClassSelector.<init>(ClassSelector.java:209)
19:22:13    ... 53 more

19:22:13 19:22:13 Total time: 12 seconds 19:22:16 Build step 'Execute shell' marked build as failure 19:22:16 Archiving artifacts 19:22:16 Finished: FAILURE

Tried many solutions like:

a. Adding the jaxb-xjc-4.0.2.jar,jaxb-jxc-4.0.2.jar,jaxb-core-4.0.2.jar,jaxb-impl-4.0.2.jar in classpath as mentioned in the above code. b. Tried adding the mentioned jars in build.path too but still same error.

anyone please assist on to resolve this?

  • Does this answer your question? [java.lang.NoSuchFieldError: REFLECTION](https://stackoverflow.com/questions/25765238/java-lang-nosuchfielderror-reflection) – aled Jun 05 '23 at 11:31
  • Thanks for the quick response @aled checked the link you shared but it did not help much, all my jaxb jars are of same versions. I also tried to add many other jaxb jars too like javax.activation-1.2.0.jar,javax.activation-api-1.2.0.jar etc in classpath as well as build.path but still same error – user4888455 Jun 05 '23 at 12:29
  • can anyone please assist? – user4888455 Jun 06 '23 at 12:57
  • You should share the full classpath used. Unfortunately ANT doesn't has dependency management like Maven so it is hard sometimes to say how jars may be conflicting. – aled Jun 06 '23 at 13:05
  • There are several other answers here that may be related to your issue https://stackoverflow.com/a/46414630/721855, https://stackoverflow.com/a/50251510/721855 , https://stackoverflow.com/questions/65632952/include-library-for-jaxb-into-jar-file-without-using-maven. Have you searched for other answers here? Note that you seem to using the old com.sun.xml.bind that are deprecated and removed in Java 11. You should upgrade: https://blog.payara.fish/how-to-update-an-application-using-jaxb-from-jdk-8-to-jdk-11 – aled Jun 06 '23 at 13:19

1 Answers1

0

by using the suggestion provided by @aled it is resolved now thank you aled for your assistance.