FamilySearch / gedcom5-conversion

Utilities for GEDCOM 5.5 to GEDCOM X Conversion
Other
32 stars 22 forks source link

Exception in thread "main" java.lang.NoClassDefFoundError #18

Closed orestesgaolin closed 3 years ago

orestesgaolin commented 3 years ago

Hey there, not sure what's the issue on my side, but getting this exception when trying to convert .ged to .gedx. I'm using the torture test files, in this case TGC551.ged.

❯ java -jar gedcom5-conversion-1.12.0-full.jar -i ./TestGED/TGC551.ged -o ./test.gedx

Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataSource
    at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl.<clinit>(RuntimeBuiltinLeafInfoImpl.java:464)
    at com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl.<init>(RuntimeTypeInfoSetImpl.java:64)
    at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:133)
    at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:85)
    at com.sun.xml.bind.v2.model.impl.ModelBuilder.<init>(ModelBuilder.java:162)
    at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:93)
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:455)
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:303)
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:142)
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1174)
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:162)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:262)
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:249)
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:442)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:652)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:599)
    at org.gedcomx.fileformat.DefaultXMLSerialization.newContext(DefaultXMLSerialization.java:116)
    at org.gedcomx.fileformat.DefaultXMLSerialization.<init>(DefaultXMLSerialization.java:49)
    at org.gedcomx.fileformat.DefaultXMLSerialization.<init>(DefaultXMLSerialization.java:44)
    at org.gedcomx.tools.Gedcom2Gedcomx.convert55File(Gedcom2Gedcomx.java:224)
    at org.gedcomx.tools.Gedcom2Gedcomx.doMain(Gedcom2Gedcomx.java:177)
    at org.gedcomx.tools.Gedcom2Gedcomx.main(Gedcom2Gedcomx.java:248)
Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 26 more

My Java version:

java -version
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment (build 13.0.1+9)
OpenJDK 64-Bit Server VM (build 13.0.1+9, mixed mode, sharing)

The same error happens also with OpenJDK 15

java -version
openjdk version "15" 2020-09-15
OpenJDK Runtime Environment AdoptOpenJDK (build 15+36)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 15+36, mixed mode, sharing
> java -jar gedcom5-conversion-1.12.0-full.jar -i ./TestGED/TGC551.ged -o ./TestGED/TGC551.gedx
Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataSource
    at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl.<clinit>(RuntimeBuiltinLeafInfoImpl.java:464)
    at com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl.<init>(RuntimeTypeInfoSetImpl.java:64)
    at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:133)
    at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:85)
    at com.sun.xml.bind.v2.model.impl.ModelBuilder.<init>(ModelBuilder.java:162)
stoicflame commented 3 years ago

Probably need to add some dependencies for the modules removed since Java 8.

stoicflame commented 3 years ago

Fixed at d972802e97e09a445475b48f5df6412e63fb935d.