我使用JMF/Webcam Frame Grabber Demo在NetBeans 7.0.1 EE中创建Java桌面应用程序,该应用程序从我的摄像头获取帧。如果我从NetBeans运行它(右键单击项目并运行),应用程序工作正常,但如果从命令提示符运行Netbeans生成的.jar文件,它不会检测到我的设备。NetBeans JMF项目部署
CaptureDeviceInfo device = CaptureDeviceManager.getDevice(cameraDevice);
设备为空。
结果是相同的,如果我从项目库中删除jmf.jar并从那里运行它。它会抛出以下异常:
Exception in thread "Thread-4" java.lang.NullPointerException
at desktopapplication6.DesktopApplication6View$MyNetworkThread.run(DesktopApplication6View.java:248)
Netbeans使用所有必需的lib jar创建dist和dist \ lib文件夹。在应用罐,MANIFEST.MF在看起来像这样
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_27-b07 (Sun Microsystems Inc.)
Class-Path: lib/appframework-1.0.3.jar lib/swing-worker-1.1.jar lib/jm
f.jar
Main-Class: desktopapplication6.DesktopApplication6
我试图创造我自己的罐子在明显的变化,但没有运气。
我使用Win 7 64bit,JDK 32bit v.1.6.0_27。 (NetBeans使用相同的JDK),之后安装JMF(v.2.1.1e)。
Classpath = %JMFHOME%\lib\jmf.jar;%JMFHOME%\lib\sound.jar;%JMFHOME%\lib
Path = %JMFHOME%\lib
JMFHOME = C:\Program Files (x86)\JMF2.1.1e
JMFRegistry检测到我的设备(vfw:Microsoft WDM Image Capture(Win32):0)。 那么,有没有人知道如何使这个jar文件工作和识别我的设备?