OxalisCommunity / oxalis

Oxalis - PEPPOL Access Point open source implementation - Core component
Other
129 stars 91 forks source link

Exception while running oxalis-standalone.jar on Java 10 #373

Closed ea1 closed 5 years ago

ea1 commented 6 years ago

When running this command: C:\oxalis>java -jar bin/oxalis-standalone.jar -f src/test/resources/BII04_T10_PEPPOL-v2.0_invoice.xml -r 9908:810418052 -s 9909:810418052

We get this: C:\oxalis>java -jar bin/oxalis-standalone.jar -f src/test/resources/BII04_T10_PEPPOL-v2.0_invoice.xml -r 9908:810418052 -s 9909:810418052 WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/C:/oxalis/bin/oxalis-standalone.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Exception in thread "main" com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: javax/activation/DataSource at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2048) at com.google.common.cache.LocalCache.get(LocalCache.java:3952) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4958) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4964) at com.google.inject.internal.FailableCache.get(FailableCache.java:51) at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:48) at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:154) at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:581) at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:176) at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:49) at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:122) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106) at com.google.inject.Guice.createInjector(Guice.java:87) at com.google.inject.Guice.createInjector(Guice.java:69) at no.difi.oxalis.commons.guice.GuiceModuleLoader.initiate(GuiceModuleLoader.java:66) at no.difi.oxalis.outbound.OxalisOutboundComponent.(OxalisOutboundComponent.java:45) at eu.sendregning.oxalis.Main.main(Main.java:112) Caused by: java.lang.NoClassDefFoundError: javax/activation/DataSource at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) at java.base/java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.base/java.lang.Class.getDeclaredConstructors(Unknown Source) at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245) at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:115) at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:706) at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:929) at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:852) at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:291) at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:222) at com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:990) at com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:978) at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:68) at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33) at com.google.inject.internal.FailableCache$1.load(FailableCache.java:40) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3528) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2277) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2154) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2044) ... 17 more Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ... 38 more

Solution for us was to add: -add-modules java.xml.bind to the command line.

A working command line is: C:\oxalis>java --add-modules java.xml.bind -jar bin/oxalis-standalone.jar -f src/test/resources/BII04_T10_PEPPOL-v2.0_invoice.xml -r 9908:810418052 -s 9909:810418052

Is there something in Oxalis that needs to be changed to work on Java 10?

Or should this documentation be updated: https://github.com/difi/oxalis/blob/master/doc/installation.md#testing-and-verifying-your-installation

klakegg commented 5 years ago

Oxalis is tested with Java 8 only. Running any other Java versions is not officially supported.