java.lang.UnsatifiedLink错误:java.library.path中没有opencv_java2411

java.lang.UnsatifiedLink错误:java.library.path中没有opencv_java2411,java,eclipse,maven,opencv,Java,Eclipse,Maven,Opencv,我正在尝试将opencv添加到我的Spring Boot/Maven项目中 为了使用opencv库,我必须将本机库提供给java.library.path 我已将以下命令添加到Eclipse VM参数中: -Djava.library.path="D:/Projects/lib/opencv/x86/opencv_java2411.dll" 并得到以下例外: java.lang.UnsatisfiedLinkError: no opencv_java2411 in java.library.p

我正在尝试将opencv添加到我的Spring Boot/Maven项目中

为了使用opencv库,我必须将本机库提供给java.library.path

我已将以下命令添加到Eclipse VM参数中:

-Djava.library.path="D:/Projects/lib/opencv/x86/opencv_java2411.dll"
并得到以下例外:

java.lang.UnsatisfiedLinkError: no opencv_java2411 in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
我还试图直接从我的代码访问
java.library.path

System.out.println(System.getProperty("java.library.path"));
它显示提供的路径:
D:/Projects/lib/opencv/x86/opencv_java2411.dll


我做错了什么?

-Djava.library.path
不应该指向DLL,而是指向包含DLL的文件夹。e、 g.
-Djava.library.path=D:/Projects/lib/opencv/x86/
为了解决这个问题,我也面临同样的问题。当我运行java-jar opencv=project jar时,我得到了与下面相同的异常

Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.UnsatisfiedLinkError: no opencv_java320 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.wso2telco.rnd.CamCapture.<init>(CamCapture.java:47)
at com.wso2telco.rnd.CamCapture.main(CamCapture.java:144)
... 5 more
我删除了这两行,并添加了下面的一行

nu.pattern.OpenCV.loadLocally();
为了添加该行,您需要在pom.xml中包含这些依赖项

<dependency>
<groupId>org.openpnp</groupId>
<artifactId>opencv</artifactId>
<version>3.2.0-0</version>
</dependency>
<dependency>
<groupId>nu.pattern</groupId>
<artifactId>opencv</artifactId>
<version>2.4.9-4</version>
</dependency>

org.openpnp
opencv
3.2.0-0
nu.pattern
opencv
2.4.9-4
在做了上述修改之后,我能够使用终端运行我的程序
mvn exec:java-Dexec.mainClass=“com.rnd.CamCapture”

在windows上,设置包含opencv_java***.dll的环境路径

e.x.
{your OpenCV path}\opencv\build\java\x64
or
{your OpenCV path}\opencv\build\java\x86
在linux或其他操作系统中也是如此

e.x.
{your OpenCV path}\opencv\build\java\x64
or
{your OpenCV path}\opencv\build\java\x86