我一直在尝试使用Netbeans RCP开发应用程序来从网络摄像头中获取图像。 简单明了,它适用于常规的Java项目。
首先必须安装JMF(我使用的是Windows 7 64位,(JMF需要的32位JDK)。
在常规Java项目中,我有以下代码:
Vector webcams = CaptureDeviceManager.getDeviceList(null);
int length = webcams.size();
System.out.println("length: " +length);
此输出为“length:1”(连接1个网络摄像头)
当我在Netbeans平台项目中执行此操作时,此输出为“length:0”。
基本上我有我的Netbeans项目套件 2个模块:
我将JMF库模块作为依赖项添加到Webcam模块中,但这并不能解决问题。 我还可以确认已设置类路径:
Boot & Ext. Classpath = C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\resources.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\rt.jar;
C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\sunrsasign.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\jsse.jar;
C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\jce.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\charsets.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\modules\jdk.boot.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\classes;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\dnsns.jar;**C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\jmf.ja**r;
C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\localedata.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\sound.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\sunjce_provider.jar;
C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\sunmscapi.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\sunpkcs11.jar
我真的被困在这里了。 Netbeans RCP有什么特别之处,将jmf.jar添加为包装模块似乎打破了这段代码?
如果有人提供一些技巧来帮助获取更多调试信息来追踪问题,我将非常感激。
编辑:
经过大量的反复试验后,我找到了以下解决方案:
Copy c:\Progra.... x86\JMF...\lib\* to c:\Program .. x86\jdk\lib\*
Including the jmf.properties file
但是我很高兴这个工作,一旦应用程序转移到另一台客户端PC使用它将没有那些库。
所以我真的不知道如何用Netbeans RCP来解决这个问题。它能有多难?我将jar添加到包装器中,我也将.properties文件放在/ release / modules / ext文件夹中。
请在这里帮助我:)
答案 0 :(得分:4)
当我在Netbeans中使用JMF时。我必须做以下事情:
tools --> libraries
libraries
add library
多数人
答案 1 :(得分:0)
你必须添加到build.xml :( jmf.propeties必须在COMPILED dist文件夹中,靠近你的your_jar.jar !!!)
转到Project Explorer中的Files选项卡,然后添加到build.xml
(我的JMF在c:\ JMF ......)
<target name="-post-compile">
<copy file="C:\JMF\lib\jmf.properties" todir="${dist.dir}"/>
</target>