运行Clojure JAR时Java无法找到本机库

任巴希

我正在处理的项目是一个服务器端Clojure项目,使用Leiningen作为构建工具。

当我尝试运行使用Leiningen的uberjar创建的JAR时,会出现问题JAR依赖于我放置在/ usr / lib / nativedeps / so中的某些本机库

在运行JAR之前,我先导出环境变量LD_LIBRARY_PATH和本机库路径,以便链接器知道在哪里寻找本机库:

export LD_LIBRARY_PATH=/usr/lib/ctch/so

然后运行JAR:

java -jar externalapibe-0.1.0-standalone.jar 3001

引发异常:

java.lang.UnsatisfiedLinkError:java.library.path中没有JavaASAPSDK

这意味着链接器无法找到JavaASAPSDK(这是/ usr / lib / nativedeps / so中的本机库之一),并且我需要在java.library.path中指定库路径所以我跑:

java -Djava.library.path=/usr/lib/nativedeps/so -jar externalapibe-0.1.0-standalone.jar 3001

引发异常:

java.lang.UnsatisfiedLinkError:/usr/lib/nativedeps/so/libJavaASAPSDK.so:libprotobuf.so.6:无法打开共享对象文件:没有这样的文件或目录

这意味着找到了库JavaASAPSDK,但是找不到另一个名为libprotobuf.so.6的库JavaASAPSDK依赖于)。

问题是两个库都在同一个目录中!

关于什么会导致此问题以及如何解决的任何想法???

任巴希

我通过删除解决了这个问题:

libprotobuf.so.6

然后创建一个名为“ libprotobuf.so.6”的符号链接到一个与libprotobuf.so.6完全相同的,名为libprotobuf.so.6.0.0的库。

然后,我在/etc/ld.so.conf.d/中创建了一个配置文件。

touch /etc/ld.so.conf.d/externalapibe.conf

并在其中写出我的本机库的路径:

/usr/lib/nativedeps/so

然后我跑了:

ldconfig -v | grep /usr/lib/nativedeps/so

后者从“ externalapibe.conf”读取我的本机deps的路径,然后将其中的本机库重新绑定。

这似乎可以完成工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

运行Clojure JAR时Java无法找到本机库

来自分类Dev

找到本机库时出现 Java UnsatisfiedLinkError

来自分类Dev

Clojure:Lein运行无法解析符号

来自分类Dev

Android java.lang.illegalargumentException无法找到本机库main

来自分类Dev

添加.jar时无法运行Java

来自分类Dev

Clojure:如何判断代码是在REPL还是JAR中运行?

来自分类Dev

库'javacv-android-arm.jar'包含不会在设备上运行的本机库

来自分类Dev

如何将Java可运行示例转换为clojure

来自分类Dev

如何将Java可运行示例转换为clojure

来自分类Dev

如何使用clojure-utils声明Clojure函数并立即从Java代码运行?

来自分类Dev

如何使用clojure-utils声明Clojure函数并立即从Java代码运行?

来自分类Dev

在Java应用程序中混合运行32位和64位本机库

来自分类Dev

coco2d-x:java.lang.IllegalArgumentException:无法找到本机库

来自分类Dev

从 msf4j 项目运行 jar 文件时“无法找到或加载主类”

来自分类Dev

Docker Java .jar无法运行

来自分类Dev

Docker Java .jar无法运行

来自分类Dev

Java项目可在Eclipse上运行,但在导出到可运行的jar文件时无法运行

来自分类Dev

为什么在调用Clojure中的Future时仅运行32个线程?

来自分类Dev

运行uberjar时出现Clojure FileNotFound异常,尽管文件位于项目源中

来自分类Dev

JavaCPP,在JAR中归档本机库时出现UnsatisfiedLinkError

来自分类Dev

如何在导出到 jar 时包含 opencv 本机库

来自分类Dev

添加clojure依赖项并运行lein uberjar会导致java.lang.IllegalAccessError

来自分类Dev

尝试运行Clojure Web应用程序时出现java.lang.IllegalArgumentException

来自分类Dev

让Clojure运行(lein repl)

来自分类Dev

让Clojure运行(lein repl)

来自分类Dev

本机库加载时出现无法解释的UnsatisfiedLinkError

来自分类Dev

本机库加载时出现无法解释的UnsatisfiedLinkError

来自分类Dev

Clojure:无法找到静态字段

来自分类Dev

运行.jar文件时未找到Maven和Class异常

Related 相关文章

  1. 1

    运行Clojure JAR时Java无法找到本机库

  2. 2

    找到本机库时出现 Java UnsatisfiedLinkError

  3. 3

    Clojure:Lein运行无法解析符号

  4. 4

    Android java.lang.illegalargumentException无法找到本机库main

  5. 5

    添加.jar时无法运行Java

  6. 6

    Clojure:如何判断代码是在REPL还是JAR中运行?

  7. 7

    库'javacv-android-arm.jar'包含不会在设备上运行的本机库

  8. 8

    如何将Java可运行示例转换为clojure

  9. 9

    如何将Java可运行示例转换为clojure

  10. 10

    如何使用clojure-utils声明Clojure函数并立即从Java代码运行?

  11. 11

    如何使用clojure-utils声明Clojure函数并立即从Java代码运行?

  12. 12

    在Java应用程序中混合运行32位和64位本机库

  13. 13

    coco2d-x:java.lang.IllegalArgumentException:无法找到本机库

  14. 14

    从 msf4j 项目运行 jar 文件时“无法找到或加载主类”

  15. 15

    Docker Java .jar无法运行

  16. 16

    Docker Java .jar无法运行

  17. 17

    Java项目可在Eclipse上运行,但在导出到可运行的jar文件时无法运行

  18. 18

    为什么在调用Clojure中的Future时仅运行32个线程?

  19. 19

    运行uberjar时出现Clojure FileNotFound异常,尽管文件位于项目源中

  20. 20

    JavaCPP,在JAR中归档本机库时出现UnsatisfiedLinkError

  21. 21

    如何在导出到 jar 时包含 opencv 本机库

  22. 22

    添加clojure依赖项并运行lein uberjar会导致java.lang.IllegalAccessError

  23. 23

    尝试运行Clojure Web应用程序时出现java.lang.IllegalArgumentException

  24. 24

    让Clojure运行(lein repl)

  25. 25

    让Clojure运行(lein repl)

  26. 26

    本机库加载时出现无法解释的UnsatisfiedLinkError

  27. 27

    本机库加载时出现无法解释的UnsatisfiedLinkError

  28. 28

    Clojure:无法找到静态字段

  29. 29

    运行.jar文件时未找到Maven和Class异常

热门标签

归档