가 여기 내 시스템 정보입니다 :넷빈즈 : 라이브러리 후 빌드를 찾을 수 없습니다
IDE : 넷빈즈 6.9 OS : 우분투 10.10
나는 자바와 v4l4j (HTTP를 사용하여 프로그램 쓰고 있어요 : // 코드를. google.com/p/v4l4j/). 웹캠에서 프레임을 캡처하여 특정 방식으로 처리합니다. 프로그램이 시작되면 캡처 장치를 묻는 대화 상자가 나타납니다. 장치가 선택되면 뷰어가 시작됩니다. 이 시점에서 webcam 클래스가 사용됩니다.
netbean의 실행 기능으로 프로그램을 실행할 때마다 모든 것이 좋습니다. 그것은 100 % 작동합니다. 그러나 jar 파일과 배포 할 다른 폴더로 실행하는 데 필요한 모든 파일을 복사하면 단순히 작동하지 않습니다. 즉시 선택 GUI가 완료되고 뷰어가 출시 될 때 프로그램이 오류와 충돌합니다 : 넷빈즈의 측면을 실행할 때
Cant load v4l4j JNI library
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no v4l4j in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at au.edu.jcu.v4l4j.VideoDevice.<clinit>(Unknown Source)
at programName.webcam.initVideoDevice(webcam.java:49)
at programName.webcam.<init>(webcam.java:32)
at programName.Main.initCamera(Main.java:164)
at programName.Main.initCamera(Main.java:184)
at programName.Main.<init>(Main.java:82)
at programName.openingWindow$checker.actionPerformed(openingWindow.java:126)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
다시 말하지만,이 발생합니다. jar 파일과 같은 디렉토리에 lib 폴더를 복사했습니다. 넷빈즈의 DIST 폴더에
directory root/
program.jar
data/
images/
settings/
lib/
v4l4j.jar
모든 파일이 복사 된 나는 이미지 및 설정 파일 등 필요한 모든 리소스 파일을 가지고 : 여기에 내가 무엇을 기본적으로합니다. 웬일인지, 최근까지 내가이 오류가 발생하기 시작할 때까지 완벽하게 작동했습니다.
또한 오류가 참조하는 기능은 다음과 같습니다. 클래스가 누락 된 라이브러리를 사용하는 첫 번째 단계입니다. 다음과 같이
private void initVideoDevice() throws Exception {
vd = new VideoDevice(path);
fg = vd.getJPEGFrameGrabber((int)resolution.getWidth(), (int)resolution.getHeight(), 0, standard, quality);
}
아, 알겠습니다. 나는 최근에 소프트웨어를 상당히 바꿨으며 현재 버전에서는 문제가 존재하지 않는 것처럼 보입니다. 내가 다시 만난다면 나는이 조언을 따라야 할 것입니다. 감사. –
이 답변이 늦었지만 오류가 다시 발생했습니다. 우분투의 파일 관리자가 두 번 클릭 할 때 이미이 인수를 삽입 할만큼 똑똑하다는 것을 알았습니다. 쉘 스크립트를 통해 jar 파일을 호출하는 대신 최신 버전의 소프트웨어를 실행하려고했습니다. 다음은 실행 명령입니다. java -jar -Djava.library.path =/usr/lib/jni myjarfile.jar. 도움을 주신 TON에게 감사드립니다. –