如何为Open cv java项目准备可运行的jar



我已经开发了一个在Windows上使用opencv open cv cv 2.4.9进行人脸检测的项目。 现在我必须在 Ubuntu 机器上运行 jar。 我失败了。

Caused by: java.lang.UnsatisfiedLinkError: no opencv_java249 in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1889)
        at java.lang.Runtime.loadLibrary0(Runtime.java:849)
        at java.lang.System.loadLibrary(System.java:1088) 

我主要关心的是如何为 Ubuntu 准备具有 OpenCV-249 依赖项的软件包(可运行的 JAR(?

你应该务实地加载OpenCV库,如下所示:

// get the model
String model = System.getProperty("sun.arch.data.model");
// the path the .dll lib location
String libraryPath = "C:/opencv/build/java/x86/";
// check for if system is 64 or 32
if(model.equals("64")) {
    libraryPath = "C:/opencv/build/java/x64/";
}
// set the path
System.setProperty("java.library.path", libraryPath);
Field sysPath = ClassLoader.class.getDeclaredField("sys_paths");
sysPath.setAccessible(true);
sysPath.set(null, null);
// load the lib
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

您可以在程序启动时运行此方法。

最新更新