当前位置: 首页 > 知识库问答 >
问题:

JAVAlang.unsatifiedLinkError:java中没有opencv_java2411。图书馆路径

东方高洁
2023-03-14

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

为了使用opencv库,我必须将本机库提供给java。图书馆路径

我在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

我做错了什么?

共有3个答案

司寇经亘
2023-03-14

在windows上,设置包含opencv_java***的环境路径。动态链接库

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

在linux或其他操作系统中也是如此。

沈弘盛
2023-03-14

-Djava。图书馆路径不应指向DLL,而应指向包含DLL的文件夹。e、 g.-Djava。图书馆path=D:/Projects/lib/opencv/x86/

蔚元明
2023-03-14

我也面临着同样的问题,我这样做是为了解决这个问题。当我运行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

所以我做了下面的更改项目在. java类我有这行

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
System.loadLibrary("opencv_java320");

我删除了这两行,并添加了下面的一行

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>

在完成上述修改后,我能够使用mvn exec:java-Dexec从终端运行我的程序。mainClass=“com.rnd.CamCapture”

 类似资料:
  • 尝试在linux manjaro上运行BurpSite时,出现以下错误:“无法启动Burp:java.lang.UnsatifiedLinkError:java.library.path中没有splashscreen” java版本openjdk版本“1.8.0_252”openjdk运行时环境(构建1.8.0_252-b09)openjdk 64位服务器虚拟机(构建25.252-b09,混合模式

  • 我设置了以下环境变量,并从sqlcl运行了以下命令, SQL$ABC_DB_PROD_USERNAME/$ABC_DB_PROD_PASSWORD@"$ABC_DB_PROD_TNS" 我在java中收到错误消息=无ocijdbc18。图书馆路径 我不知道该怎么办。

  • 我正在尝试创建自定义的C#minecraft启动器,但出现了此错误。我创建了一个启动器。bat首先归档,以便更快地解决此问题。我有启动minecraft的密码: 但是,当我开始它说我发现在互联网上这是一个问题的这一行 但是我仔细检查了路径是正确的。提前谢谢你。 编辑 我很容易就解决了这个问题,从论点中可以看出: 并将所有的DLL放在本地文件夹中,但我仍然无法使用完整路径访问它们

  • 使用maven surefire插件运行maven构建时,我会遇到以下错误: 尝试运行集成测试时。当我转到/user\u目录时。在我们的linux服务器上,我看到了几个libswt-pi3-gtk-xxx。所以没有pi4。有没有办法让它使用已经可用的pi3 swt。这是一个公司服务器,所以我不能添加外部软件。 它正在从https://download.eclipse.org/releases/20

  • 试图用命令“mvn清洁安装”构建sikuli-Slides-1.5.0,我得到了上面引用的堆栈跟踪。我正在使用视窗7,并尝试了我遇到的各种解决方案的说明,但没有成功。我的用户和系统定义变量的路径和CLASSPATH变量包括: “C:\opencv\build\x64\vc10\bin” 我已经多次重启我的机器。 此外,我已经添加了javacv.jar、javacv.windows-x86.jar、

  • 我正在使用Fresco库将图像和GIF加载到我的应用程序中。我遇到的最大的限制是壁画的布局宽度和高度必须设置。因此,我设置了简单的付款人视图,如下所示: 我的问题是,如果图像的高度大于宽度,那么在图像的右边有很多空白(见附件),但是高度是好的 然后它可能发生在高度,如果实际图像小于宽度(见附件),所以这里,因为固定的高度是250dp,有很多空白的图像下面。