当前位置: 首页 > 知识库问答 >
问题:

线程“main”java.lang.UnsatifiedLinkError中出现异常-无法加载库-无法获得InputStream

寿子默
2023-03-14
java -cp build/linux-64/Jeigen-linux-64.jar:build/linux-64/jna-4.1.0.jar jeigen.TestSimple
 Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'jeigen-linux-64': Can't obtain InputStream for linux-x86-64/libjeigen-linux-64.so
            at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:271)
            at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)
            at com.sun.jna.Native.register(Native.java:1396)
            at com.sun.jna.Native.register(Native.java:1156)
            at jeigen.JeigenJna$Jeigen.<clinit>(JeigenJna.java:64)
            at jeigen.DenseMatrix.mmul(DenseMatrix.java:1049)
            at jeigen.TestSimple.main(TestSimple.java:14)

我获得了两个jar文件,jeigen-linux-64.jar和jna-4.1.0.jar(我已经将它们导出到我的类路径中),以及libjeigen-linux-64。所以lib是在我的主路径/home/.jeigen/native/libjeigen-linux-64中构建的

有什么想法吗?

共有1个答案

濮阳振海
2023-03-14

下面是NativeLibrary的源代码-行号与堆栈跟踪不完全一致,所以这不是您所拥有的版本的源代码,但足够接近。正如您所看到的,它在很多很多地方查找,并且通过java.util.logging进行日志记录,因此可以使用如下内容:

把这个放入一个文件中:

# Logging
handlers = java.util.logging.ConsoleHandler
# Console Logging
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter =  java.util.logging.SimpleFormatter 
java.util.logging.SimpleFormatter.format = %1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$s %2$s %5$s%6$s%n

java-djava.util.logging.config.file=/path/to/thatfile启动java。

 类似资料: