schierlm / BibleMultiConverter

Converter written in Java to convert between different Bible program formats
Other
124 stars 33 forks source link

MyBible (SQLite3) to ZefaniaXML error #82

Closed gkylelorenz01 closed 9 months ago

gkylelorenz01 commented 1 year ago

Error when converting RCPV Bible (SQLite3) to Zefania XML

java -jar BibleMultiConverter-AllInOneEdition.jar MyBibleZone RCPV.SQLite3 ZefaniaXML rcpv.xml
Exception in thread "main" java.lang.ExceptionInInitializerError
        at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:81)
        at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:179)
        at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:285)
        at com.sun.xml.bind.v2.runtime.property.ArrayProperty.<init>(ArrayProperty.java:68)
        at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.<init>(ArrayERProperty.java:88)
        at com.sun.xml.bind.v2.runtime.property.ArrayReferenceNodeProperty.<init>(ArrayReferenceNodeProperty.java:84)
        at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:484)
        at com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:128)
        at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:181)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:503)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:320)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:139)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1138)
        at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:162)
        at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:286)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:578)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:186)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:146)
        at javax.xml.bind.ContextFinder.find(ContextFinder.java:350)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:446)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:409)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:313)
        at biblemulticonverter.format.ZefaniaXML.doExport(ZefaniaXML.java:620)
        at biblemulticonverter.Main.main(Main.java:67)
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 @402bba4f
        at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:387)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:363)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:311)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:201)
        at java.base/java.lang.reflect.Method.setAccessible(Method.java:195)
        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)
        ... 27 more
schierlm commented 1 year ago

Looks like an incompatibility between JAXB 2.3 and whatever (newer) Java version you are using. Upgrading to a newer JAXB library would require dropping Java 8 compatibility - but probably there is no way to avoid it in the long run.

What version of Java does this error occur on (java --version)? Can you test with Java 8 (or Java 11)?

schierlm commented 9 months ago

Closed due to lack of response