Tag: packaging

如何在jar中打包opencv + java

我一直在使用Opencv 2.4.5和Java构建一个应用程序,现在想分发应用程序。 使用以下内容加载库: static{ System.loadLibrary(“opencv_java245”); } 哪个工作正常。 但是,在导出时,从jar运行时它不起作用: java -jar build1.jar opencv_java245.jar文件作为用户库包含在内,并连接了本机文件(libopencv_java245.dylib)。 当运行从Eclipse生成的可执行jar时,我得到下面的UnsatisfiedLinkError,尽管在eclipse中编译/运行正常。 Exception in thread “main” java.lang.UnsatisfiedLinkError: no opencv_java245 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at com.drawbridge.Main.(Main.java:12) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:266) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56) 有人知道在jar子里打包OpenCV的简单方法吗? 更新:我现在已经筋疲力尽了。 我可以将库添加到我的构建路径(而不是使用System.loadLibrary),这可以在eclipse中工作,但不能在jar中打包。 我已经尝试了一切。 我还检查了我正在尝试加载的动态库的类型 – 它是 Mach-O 64-bit x86_64 dynamically linked shared library 这似乎应该工作正常。 我用-D64和-D32来测试并得到两者相同的结果。