2011-09-06 104 views
0

我使用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文件工作和識別我的設備?

回答

0

jmf.properties文件需要放在與包含main方法的JAR存檔具有主方法或文件夾相同的文件夾中。