Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试加载opencv时发生java.lang.UnsatifiedLinkError_Java_Scala_Opencv_Sbt - Fatal编程技术网

尝试加载opencv时发生java.lang.UnsatifiedLinkError

尝试加载opencv时发生java.lang.UnsatifiedLinkError,java,scala,opencv,sbt,Java,Scala,Opencv,Sbt,我试图在使用sbt构建的Scala应用程序中使用opencv,这是我的build.sbt name := "Marker" version := "1.0" scalaVersion := "2.11.8" javaOptions in run += "-Djava.library.path=/home/priyatham/libs/opencv-3.1.0/build/lib" 这就是我运行sbt时遇到的错误 [error] (run-main-0) java.lang.Unsatis

我试图在使用sbt构建的Scala应用程序中使用opencv,这是我的
build.sbt

name := "Marker"

version := "1.0"

scalaVersion := "2.11.8"

javaOptions in run += "-Djava.library.path=/home/priyatham/libs/opencv-3.1.0/build/lib"
这就是我运行sbt时遇到的错误

[error] (run-main-0) java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path
java.lang.UnsatisfiedLinkError: no opencv_java310 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 Main$.main(Main.scala:10)
    at Main.main(Main.scala)
    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)
[trace] Stack trace suppressed: run last compile:run for the full output.
java.lang.RuntimeException: Nonzero exit code: 1
    at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) Nonzero exit code: 1
[error] Total time: 1 s, completed 13 Sep, 2016 8:40:09 PM
我修改
java.library.path的方式有什么问题

编辑:我确实把
opencv-310.jar
放在
Marker/lib
文件夹中

但是,使用
java-Djava.library.path=“/home/priyatham/libs/opencv-3.1.0/build/lib”
编译可以工作,但不使用
sbt run
编辑:

[error] (run-main-0) java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path
java.lang.UnsatisfiedLinkError: no opencv_java310 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 Main$.main(Main.scala:10)
    at Main.main(Main.scala)
    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)
[trace] Stack trace suppressed: run last compile:run for the full output.
java.lang.RuntimeException: Nonzero exit code: 1
    at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) Nonzero exit code: 1
[error] Total time: 1 s, completed 13 Sep, 2016 8:40:09 PM
在run中添加
fork:=true
。我想现在它会尝试在同一个JVM中运行您的代码,因此不会应用javaOptions。

编辑:


在run中添加
fork:=true
。我认为现在它试图在同一个JVM中运行您的代码,因此不应用javaOptions。

似乎是库名问题,错误是说opencv_java310,但您说的是opencv-310.jar,我不认为名称是一个问题,我非常确定您的路径错误或缺少jar。当缺少本机语言库时,通常会发生此错误。检查安装说明并查找需要安装的一些.so文件,或者是否需要编译二进制文件。您提供了不同的路径。看看第一个字符(
/
)似乎是库名问题,说opencv_java310时出错,但你说的是opencv-310.jar,你确定应该是这样的吗/。我不认为名称是一个问题,我很确定你有错误的路径或缺少jar。这个错误通常发生在缺少本机语言库时。检查安装说明并查找需要安装的一些.so文件,或者是否需要编译二进制文件。您提供了不同的路径。看看第一个字符(
/
)是否有
/home/priyatham/libs/opencv-3.1.0/build/lib/libopencv_java310。那么
文件是否存在并包含我们期望的内容?应用程序是否有权访问它(权限)?
/home/priyatham/libs/opencv-3.1.0/build/lib/libopencv_java310。那么
文件是否存在并包含我们期望的内容?应用程序是否有权访问它(权限)?