无法在Mac OS X上运行Stardog

5

我刚刚下载了Stardog,现在正在尝试在我的Mac OS X 10.14.2上运行它。

我使用的是ZSH shell,并在我的.zshrc文件中添加了以下两行:

export STARDOG_HOME="/Applications/stardog-6.1.0"
export PATH="$PATH:$STARDOG_HOME/bin"

以下是我的完整 $PATH 变量内容:
➜  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

以下是我的Java版本:

➜  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)

我将许可证复制到了/Applications/stardog-6.1.0,然后尝试运行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:/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

我错过了什么?


2
看起来Stardog不兼容JDK 11。尝试安装JDK 8。 - yole
1个回答

4

Stardog的文档(Stardog 6.1.0(2019年1月16日))指出:

要求

这真的很简单:Stardog运行在Java 8上。


安装Java 8。

我预计在不久的将来,Stardog的供应商将发布适用于Java 11的版本,但我在他们的网站上没有看到任何公告。(有一个Stardog 7.0.0 Beta...但发行说明没有提到Java 11。)


更新:Stardog 9.0已升级至Java 11;请查看发布说明。目前系统要求页面显示仅支持Java 11。
重点是...请查阅Stardog文档以获取您所使用的版本信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接