0
任務流程: 拍攝照片時使用的攝像頭,並保存在一個目錄下,並將其加載圖像OpenCV的檢測(面部)人臉檢測使用opencv:找不到javacv類
而在Ubuntu上運行的程序第一次,圖像沒有保存併發生異常。
錯誤1:
HTTP狀態500 -
類型異常報告
消息
description The server encountered an internal error() that prevented it from fulfilling this request.
例外
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.UnsatisfiedLinkError: /var/cache/tomcat6/temp/javacpp8724578391270070/libjniopencv_core.so: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /var/cache/tomcat6/temp/javacpp8724578391270070/libopencv_core.so.2.4)
java.lang.ClassLoader$NativeLibrary.load(Native Method)
java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750)
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1646)
java.lang.Runtime.load0(Runtime.java:787)
java.lang.System.load(System.java:1022)
com.googlecode.javacpp.Loader.loadLibrary(Loader.java:566)
com.googlecode.javacpp.Loader.load(Loader.java:489)
com.googlecode.javacpp.Loader.load(Loader.java:431)
com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:266)
com.googlecode.javacpp.Loader.load(Loader.java:453)
com.googlecode.javacv.cpp.opencv_imgproc.<clinit>(opencv_imgproc.java:97)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:266)
com.googlecode.javacpp.Loader.load(Loader.java:453)
com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:85)
facerecognition.javafaces.TestServlet.doPost(TestServlet.java:104)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.UnsatisfiedLinkError: /var/cache/tomcat6/temp/javacpp8724578391270070/libopencv_core.so.2.4: libtbb.so: cannot open shared object file: No such file or directory
java.lang.ClassLoader$NativeLibrary.load(Native Method)
java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750)
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1646)
java.lang.Runtime.load0(Runtime.java:787)
java.lang.System.load(System.java:1022)
com.googlecode.javacpp.Loader.loadLibrary(Loader.java:566)
com.googlecode.javacpp.Loader.load(Loader.java:481)
com.googlecode.javacpp.Loader.load(Loader.java:431)
com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:266)
com.googlecode.javacpp.Loader.load(Loader.java:453)
com.googlecode.javacv.cpp.opencv_imgproc.<clinit>(opencv_imgproc.java:97)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:266)
com.googlecode.javacpp.Loader.load(Loader.java:453)
com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:85)
facerecognition.javafaces.TestServlet.doPost(TestServlet.java:104)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note注意根源的完整堆棧跟蹤在Apache Tomcat/6.0.24日誌中可用。
當程序運行時,第二次則圖像獲取保存但發生異常
錯誤2:
HTTP狀態500 -
類型異常報告
消息
說明服務器遇到內部錯誤()th阻止它履行這一要求。
例外
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.NoClassDefFoundError: Could not initialize class com.googlecode.javacv.cpp.opencv_highgui
facerecognition.javafaces.TestServlet.doPost(TestServlet.java:104)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
注根源的完整堆棧跟蹤中的Apache Tomcat/6.0.24日誌是可用的。
我已經使用了try catch,但例外來了。當程序在Windows中運行時沒有問題。