Using apache-ant-1.10.14, the ant task:
- worked on jdk1.8.0
- but not jdk21.0.3_9
When I run this ant task on java 21:
<wsimport destdir="${the.output}" sourcedestdir="${the.source}" wsdl="${the.wsdl}" wsdllocation="whatever.wsdl" keep="true" extension="true" verbose="false" package="com.the.package.jaxws" >
it tells me:
java.lang.ExceptionInInitializerError....
...
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @535b8c24
at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:391)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:367)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:315)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:203)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:197)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.getMethod(Injector.java:184)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.access$000(Injector.java:69)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1.run(Injector.java:168)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1.run(Injector.java:165)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.<clinit>(Injector.java:164)
... 58 more
Thinking I can add:
<arg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
but that doesn’t seem to work…thoughts?