Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
java.lang.Exception:java.lang.UnsatifiedLink错误:_Java_Opencv_Hadoop_Javacv - Fatal编程技术网

java.lang.Exception:java.lang.UnsatifiedLink错误:

java.lang.Exception:java.lang.UnsatifiedLink错误:,java,opencv,hadoop,javacv,Java,Opencv,Hadoop,Javacv,执行Hadoop应用程序时,出现以下错误: java.lang.Exception: java.lang.UnsatisfiedLinkError: /tmp/javacpp5024882630141562/libjniopencv_core.so: libopencv_core.so.2.3: cannot open shared object file: No such file or directory at org.apache.hadoop.mapred.LocalJo

执行Hadoop应用程序时,出现以下错误:

java.lang.Exception: java.lang.UnsatisfiedLinkError: /tmp/javacpp5024882630141562/libjniopencv_core.so: libopencv_core.so.2.3: cannot open shared object file: No such file or directory
        at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:399)
Caused by: java.lang.UnsatisfiedLinkError: /tmp/javacpp5024882630141562/libjniopencv_core.so: libopencv_core.so.2.3: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1843)
        at java.lang.Runtime.load0(Runtime.java:795)
        at java.lang.System.load(System.java:1061)
        at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:422)
        at com.googlecode.javacpp.Loader.load(Loader.java:372)
        at com.googlecode.javacpp.Loader.load(Loader.java:319)
        at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:270)
        at com.googlecode.javacpp.Loader.load(Loader.java:338)
        at com.googlecode.javacv.cpp.opencv_imgproc.<clinit>(opencv_imgproc.java:97)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:270)
        at com.googlecode.javacpp.Loader.load(Loader.java:338)
        at com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:85)
        at com.googlecode.javacv.OpenCVFrameGrabber.start(OpenCVFrameGrabber.java:169)
        at HFD.videoprocessing.utils.VideoRecordReader.initialize(VideoRecordReader.java:58)
        at HFD.videoprocessing.utils.VideoInputFormat.createRecordReader(VideoInputFormat.java:30)
        at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.<init>(MapTask.java:456)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:698)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:333)
        at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:231)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:724)
java.lang.Exception:java.lang.unsatifiedlinkerror:/tmp/javacpp5024882630141562/libjniopencvāu core.so:libopencvāu core.so.2.3:无法打开共享对象文件:没有此类文件或目录
位于org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:399)
原因:java.lang.UnsatifiedLinkError:/tmp/javacpp5024882630141562/libjniopencv\u core.so:libopencv\u core.so.2.3:无法打开共享对象文件:没有此类文件或目录
位于java.lang.ClassLoader$NativeLibrary.load(本机方法)
位于java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
位于java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
位于java.lang.ClassLoader.loadLibrary(ClassLoader.java:1843)
位于java.lang.Runtime.load0(Runtime.java:795)
位于java.lang.System.load(System.java:1061)
位于com.googlecode.javacpp.Loader.loadLibrary(Loader.java:422)
位于com.googlecode.javacpp.Loader.load(Loader.java:372)
位于com.googlecode.javacpp.Loader.load(Loader.java:319)
在com.googlecode.javacv.cpp.opencv_core.(opencv_core.java:136)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(Class.java:270)
位于com.googlecode.javacpp.Loader.load(Loader.java:338)
在com.googlecode.javacv.cpp.opencv_imgproc.(opencv_imgproc.java:97)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(Class.java:270)
位于com.googlecode.javacpp.Loader.load(Loader.java:338)
在com.googlecode.javacv.cpp.opencv_highgui上(opencv_highgui.java:85)
位于com.googlecode.javacv.OpenCVFrameGrabber.start(OpenCVFrameGrabber.java:169)
在HFD.videoprocessing.utils.VideoRecordReader.initialize(VideoRecordReader.java:58)
位于HFD.videoprocessing.utils.VideoInputFormat.createRecordReader(VideoInputFormat.java:30)
位于org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader。(MapTask.java:456)
位于org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:698)
位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:333)
位于org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:231)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
在java.util.concurrent.FutureTask.run(FutureTask.java:166)中
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
运行(Thread.java:724)
有什么帮助吗?

请尝试以下操作: 1) 运行
sudo ldconfig
并检查其是否有效

如果上述方法不起作用

2) 打开文件
/etc/ld.so.conf.d/opencv.conf
,并在其中插入以下内容
/usr/local/opencv/

然后键入:
sudo ldconfig


如果您找不到
opencv.conf
请尝试
locate opencv.conf
在您的系统中找到它

您能提供代码吗?一个不满意的链接错误,至少在我的经验中,总是缺少本机。在你的情况下,libopencv_core.so.2.3是的,我知道。问题是我不知道从哪里可以得到这个共享库。我已经在我的项目中包括了javacv-linux-x86_64.jar。在这个jar中有一个同名但没有扩展名的共享文件,这意味着我有libopencv_core.so而不是libopencv_core.so.2.3。这意味着libopencv_core.so.2.3不在类路径中,或者libopencv_core.so.2.3依赖于程序不可用的另一个共享库。。。您是否尝试过ldd/path/to/your/lib.so?