我在我的linux mint 17上安装了最新的Logstash(2.4),创建了一个conf文件并尝试启动它,它给了我一个非常大的堆栈跟踪(1740行堆栈跟踪)。
LoadError: Could not load FFI Provider: (NotImplementedError) FFI not available: java.lang.UnsatisfiedLinkError: could not locate stub library in jar file. Tried [jni/x86_64-Linux/libjffi-१.२.so, /jni/x86_64-Linux/libjffi-१.२.so]
at com.kenai.jffi.internal.StubLoader.getStubLibraryStream(StubLoader.java:396)
at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:345)
at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:254)
at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:434)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.kenai.jffi.Init.load(Init.java:68)
at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45)
at com.kenai.jffi.Foreign.getInstance(Foreign.java:103)
at com.kenai.jffi.Platform.isSupported(Platform.java:370)
我复制了上面的堆栈跟踪的前几行。
堆栈跟踪的某些部分(在下面添加)似乎表明,它与jruby有关。
java.lang.UnsatisfiedLinkError: Can't load library: /usr/java/packages/lib/amd64/libjffi-१.२.so
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1827)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:316)
at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:249)
at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:434)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
关于如何继续修复此问题,有任何线索或建议吗?
如上面的第二个堆栈跟踪所示,我的m/c没有/usr/java/...目录,所以它显然失败了。但是我不明白为什么它会查找/usr/java/...文件夹集。
堆栈跟踪的其他部分显示无法找到libjffi-1.2.so。
所有这些错误意味着什么?如何修复?
1条答案
按热度按时间7d7tgy0s1#
您可以通过在jvm.options中执行以下操作来解决此问题:-Djava.io.临时目录=〈/一些/临时/目录〉
其中〈/some/tmp/dir〉是一个临时目录。