2016-01-21 81 views
2

我需要建立在Windows中运行的JAR Eclipse和Linux的UnsatisfiedLinkError装载的OpenCV(Linux)的

我发现了一个unsatisfiedLinkError同时加载OpenCV的启动它。我在Eclipse中为Linux计算机编辑了正确的库路径,并最终创建了一个可运行的jar。当我在linux中启动* .jar文件并出现以下错误时。

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java2411 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1889) at java.lang.Runtime.loadLibrary0(Runtime.java:900) at java.lang.System.loadLibrary(System.java:1087)

基本上我有两个问题。
1.如何在运行时获取加载的库路径?
2.是否有可能选择的方式不是解决问题的正确方法?

谢谢

+0

试着看着变量LD_LIBRARY_PATH。 –

+0

这个问题有一个很好的答案:) https://stackoverflow.com/questions/37901505/java-opencv-from-maven – luizfzs

回答

0

在变量LD_LIBRARY_PATH中设置OpenCV的路径。您可以在运行“jar”的shell中执行此操作。使用导出命令。

+0

你的答案提出了新的问题。 1在将项目导出为jar之前,我是否让Eclipse中java构建路径的本地库位置值为“none”? –

+1

看看这个链接:http://stackoverflow.com/questions/661320/how-to-add-native-library-to-java-library-path-with-eclipse-launch-instead-of –

1

一个重要的这个要记住用的System.loadLibrary加载Linux库文件,省略的lib前缀的库名,例如,如果库名称是libxyz.so,您的通话将是:

的System.loadLibrary( “XYZ”);