这里是我的系统信息:Netbeans的:库未找到建后
IDE:NetBeans 6.9中 操作系统:Ubuntu的10.10
我用Java编写和v4l4j(HTTP的程序://代码。 google.com/p/v4l4j/),它捕获网络摄像头的帧并以特定的方式处理它们。当程序启动时,出现一个对话框询问捕获设备。一旦设备被选中,一个查看器就会启动。此时,使用摄像头类。
每当我运行程序与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)
再次,跑出来的NetBeans侧时才会出现这种情况。我将lib文件夹复制到与jar相同的目录中。这里,基本上,我有什么:
directory root/
program.jar
data/
images/
settings/
lib/
v4l4j.jar
所有在NetBeans DIST文件夹中的文件被复制,我有所有需要的资源文件,如图像和设置文件。出于某种原因,直到最近才开始工作,直到我开始发现这个错误。
此外,这里是错误引用的功能。这是班级使用缺少的图书馆的第一件事。
private void initVideoDevice() throws Exception {
vd = new VideoDevice(path);
fg = vd.getJPEGFrameGrabber((int)resolution.getWidth(), (int)resolution.getHeight(), 0, standard, quality);
}
啊,我明白了。最近我一直在改变这个软件,而在目前的版本中这个问题似乎并不存在。如果我再次遇到它,我会确保遵循这个建议。谢谢。 – 2011-02-13 04:15:33