Stardog 5.3.5 Refuses to Start on Java 10

I just tried to start Stardog after a while not working on it and it seems my OpenJDK has been upgraded on Ubuntu to Java 10. I am now getting the error below. I noticed that this has been asked before. Is there a timeline of getting Stardog to run on Java 10?

openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)
➜  ~ ~/stardog-5.3.5/bin/stardog-admin server start  
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$2 (file:/home/cyocum/stardog-5.3.5/client/api/guice-4.0.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$2
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
WARN  2018-10-13 14:24:12,540 [main] com.complexible.common.memory.PlatformDependent:<init>(144): sun.misc.VM is not available
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
	at com.complexible.common.rdf.model.AbstractStardogLongLiteral.<init>(AbstractStardogLongLiteral.java:25)
	at com.complexible.common.rdf.model.StardogLongIntegerLiteral.<init>(StardogLongIntegerLiteral.java:17)
	at com.complexible.common.rdf.model.StardogValueFactory.createLiteral(StardogValueFactory.java:436)
	at com.complexible.stardog.index.dictionary.ValueInliner$IntegerInliner.extract(ValueInliner.java:431)
	at com.complexible.stardog.index.dictionary.ValueInliner.extract(ValueInliner.java:108)
	at com.complexible.stardog.index.dictionary.InliningMappingDictionary.getValue(InliningMappingDictionary.java:91)
	at com.complexible.stardog.index.dictionary.DelegatingMappingDictionary.getValue(DelegatingMappingDictionary.java:67)
	at com.complexible.stardog.security.index.SecurityIndexes.getSecurityIndexVersion(SecurityIndexes.java:176)
	at com.complexible.stardog.security.index.SecurityIndexes.initialize(SecurityIndexes.java:83)
	at com.complexible.stardog.security.index.IndexSystemSecurityManagerFactory.create(IndexSystemSecurityManagerFactory.java:58)
	at com.complexible.stardog.BaseStardogModule.getSystemSecurityManager(BaseStardogModule.java:200)
	at com.complexible.stardog.BaseStardogModule$$FastClassByGuice$$920e5968.invoke(<generated>)
	at com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:272)
	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:172)
	at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
	at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
	at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:104)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56)
	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
	at com.google.inject.multibindings.Multibinder$RealMultibinder.get(Multibinder.java:375)
	at com.google.inject.multibindings.Multibinder$RealMultibinder.get(Multibinder.java:258)
	at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
	at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
	at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:104)
	at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:104)
	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:167)
	at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
	at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
	at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:104)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56)
	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
	at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
	at com.complexible.stardog.Stardog.initKernel(Stardog.java:213)
	at com.complexible.stardog.Stardog.<init>(Stardog.java:206)
	at com.complexible.stardog.Stardog.<init>(Stardog.java:60)
	at com.complexible.stardog.Stardog$StardogBuilder.create(Stardog.java:597)
	at com.complexible.stardog.cli.impl.ServerStart.call(ServerStart.java:162)
	at com.complexible.stardog.cli.impl.ServerStart.call(ServerStart.java:41)
	at com.complexible.stardog.cli.CLIBase.execute(CLIBase.java:55)
	at com.complexible.stardog.cli.admin.CLI.main(CLI.java:186)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
	... 76 more

You might be able to get past this initial problem by adding --add-modules java.xml.bind to your STARDOG_SERVER_JAVA_ARGS (I think that’s the env var. If not it should be close so you should double check). I don’t know how many hurdles you might have after that but you can give it a try if you’re feeling adventurous. If not just stick with Java 8 for now.

I tried this too and I had to go back to JDK8 because of the errors I found.