【问题标题】:JavaCV Fails to Run after successful clean and build成功清理和构建后 JavaCV 无法运行
【发布时间】:2012-11-19 09:52:19
【问题描述】:

我在 java 中完成了一个项目,即使用 javaCV 库的运动检测软件。当我从 netbeans 调试代码时,它可以正常工作。它检测运动并发出警报、发送邮件等。但是当我清理和构建代码时,获得的 .jar 文件没有加载网络摄像头。 当我打开那个 .jar 文件时,它显示一个空白画布。 我可以提供的另一个信息是,当我清理和构建时,o/p 会显示一些警告,例如已弃用的 API。


init:
deps-clean:
Created dir: C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build
Updating property file: C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build\built-clean.properties
Deleting directory C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build
clean:
init:
deps-jar:
Created dir: C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build
Updating property file: C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build\built-jar.properties
Created dir: C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build\classes
Created dir: C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build\empty
Created dir: C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build\generated-sources\ap-source-output
Compiling 35 source files to C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build\classes
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\NewJFrame1.java:7: warning: String is internal proprietary API and may be removed in a future release
import com.sun.org.apache.xpath.internal.operations.String;
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\NewJFrame1.java:17: warning: AudioPlayer is internal proprietary API and may be removed in a future release
import sun.audio.AudioPlayer;
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\NewJFrame1.java:18: warning: AudioStream is internal proprietary API and may be removed in a future release
import sun.audio.AudioStream;
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\operation.java:12: warning: AudioStream is internal proprietary API and may be removed in a future release
import sun.audio.AudioStream;
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\NewJFrame1.java:32: warning: String is internal proprietary API and may be removed in a future release
    String t;
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\NewJFrame1.java:36: warning: String is internal proprietary API and may be removed in a future release
    static String user;
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\NewJFrame1.java:287: warning: AudioStream is internal proprietary API and may be removed in a future release
            AudioStream as = null;
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\NewJFrame1.java:300: warning: AudioStream is internal proprietary API and may be removed in a future release
                as = new AudioStream(in);
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\NewJFrame1.java:312: warning: AudioPlayer is internal proprietary API and may be removed in a future release
            AudioPlayer.player.start(as);
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\NewJFrame1.java:502: warning: String is internal proprietary API and may be removed in a future release
    public static void main(String args[]) {
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\operation.java:44: warning: AudioStream is internal proprietary API and may be removed in a future release
    AudioStream as;
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\operation.java:109: warning: AudioStream is internal proprietary API and may be removed in a future release
        as = new AudioStream(in);
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\operation.java:220: warning: AudioPlayer is internal proprietary API and may be removed in a future release
                        AudioPlayer.player.start(as);
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\operation.java:232: warning: AudioStream is internal proprietary API and may be removed in a future release
                        as = new AudioStream(in);
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\operation.java:281: warning: AudioPlayer is internal proprietary API and may be removed in a future release
            AudioPlayer.player.stop(as);
C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\src\projectlogin\operation.java:286: warning: AudioPlayer is internal proprietary API and may be removed in a future release
        AudioPlayer.player.stop(as);
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
16 warnings
Copying 15 files to C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build\classes
compile:
Created dir: C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\dist
Copying 1 file to C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\build
Copy libraries to C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\dist\lib.
Building jar: C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\dist\projectlogin.jar
To run this application from the command line without Ant, try:
java -jar "C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\dist\projectlogin.jar"
jar:
BUILD SUCCESSFUL (total time: 7 seconds)

【问题讨论】:

  • 您确定 NetBeans 和您的独立 JAR 文件使用相同的 JDK、相同版本的 OpenCV 等吗?
  • @SamuelAudet:是的。 JDK1.7 & openCV2.2
  • 好的,请使用最新版本重试:JavaCV 0.3 和 OpenCV 2.4.3,如果可行,请告诉我。

标签: java opencv netbeans executable-jar javacv


【解决方案1】:

输出表明你应该从命令行java -jar "C:\Users\Anooj\Documents\NetBeansProjects\projectlogin\dist\projectlogin.jar运行它

如果从 dist 目录运行它,它将包含项目所需的库。我怀疑您正在尝试在没有关联库的情况下运行该项目。

【讨论】:

  • 。库文件夹在我的 dist 文件夹中。但是当我打开 jar 文件时,除了相机之外,GUI 都可以正常工作。在不捕获的情况下获得空白画布。我试图从命令行运行它,但问题仍然存在。是因为我的 C 驱动器(操作系统驱动器)中的 OpenCV 库有任何错误吗?
猜你喜欢
  • 2018-04-27
  • 2021-02-15
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多