I just download Stardog and I'm trying to run it on my machine (Mac OS X 10.14.2).
I use ZSH
shell and I have added the following two lines in my .zshrc
file:
export STARDOG_HOME="/Applications/stardog-6.1.0"
export PATH="$PATH:$STARDOG_HOME/bin"
Following is my entire $PATH
variable:
➜ echo $PATH
/Users/my_user/.nvm/versions/node/v11.6.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/stardog-6.1.0/bin
Following is my java version:
➜ java --version
openjdk 11.0.1 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
I copied the license in /Applications/stardog-6.1.0
and then I try to run
stardog-admin server start
but that's the output:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$2 (file:/Applications/stardog-6.1.0/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 2019-01-25 13:50:03,228 [main] com.complexible.common.memory.PlatformDependent:<init>(144): sun.misc.VM is not available
There was an error initializing Stardog; one or more dependencies could not be satisfied. Please verify your classpath is correct.
The initialization errors were:
* Error injecting constructor, java.lang.ExceptionInInitializerError
com.complexible.stardog.StardogKernel.<init>()
com.complexible.stardog.StardogKernel
Caused by:
java.lang.ExceptionInInitializerError
at com.complexible.memory.memoryblock.MemoryBlockPool.allocateAll(MemoryBlockPool.java:181)
at com.complexible.memory.memoryblock.MemoryBlockPool.<init>(MemoryBlockPool.java:50)
at com.complexible.memory.memoryblock.MemoryContext.createMemoryBlockPool(MemoryContext.java:180)
at com.complexible.memory.memoryblock.MemoryContext.<init>(MemoryContext.java:65)
at com.complexible.stardog.StardogKernel.initMemoryContext(StardogKernel.java:703)
at com.complexible.stardog.StardogKernel.<init>(StardogKernel.java:491)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:86)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
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:165)
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:187)
Caused by: java.lang.NullPointerException
at org.apache.commons.lang3.SystemUtils.isJavaVersionAtLeast(SystemUtils.java:1642)
at com.complexible.memory.util.MMBits.<clinit>(MMBits.java:37)
... 32 more
Unable to provision, see the following errors:
1) Error injecting constructor, java.lang.ExceptionInInitializerError
at com.complexible.stardog.StardogKernel.<init>(StardogKernel.java:277)
at com.complexible.stardog.StardogKernel.class(StardogKernel.java:277)
while locating com.complexible.stardog.StardogKernel
while locating com.complexible.stardog.Kernel
What am I missing?
The documentation for Stardog (Stardog 6.1.0 (16 Jan 2019)) states:
Requirements
It just doesn’t get any easier than this: Stardog runs on Java 8.
Install Java 8.
I expect that in the fullness of time, the vendors of Stardog will release a version that works on Java 11, but I couldn't see any announcements on their site. (There is a Stardog 7.0.0 Beta ... but the release notes don't mention Java 11.)
Update: Stardog 9.0 has updated to Java 11; see the release notes. The system requirements page currently says that only Java 11 is supported.
The take away is ... check the Stardog documentation for the version that you are trying to use.