java - OpenCv 在 netbeans 中运行良好,但在导出的 jar 中运行不佳

标签 java swing opencv3.0

大家好,我是 opencv 新手,我正在 java swing 中使用它来开发相机应用程序。 在 netbeans 中一切正常,但是当我导出 jar 文件并双击它时,没有任何反应。 我已使用 -DJavalibrary.path 设置了虚拟机选项。我还使用 System.load(path+Core.NATIVE_LIBRARY_NAME+ ".dll") 在我的主要方法中加载了 opencv。

我浏览了这个问题,有人建议我将 opencv.dll 文件复制到 jre bin 文件夹中,我这样做了,也没有发生任何事情。

有趣的是,当我使用 java -jar "path" 通过 cmd 运行我的应用程序时,一切正常,但双击 jar 文件没有任何反应。 请帮忙

最佳答案

您的设置不会保留,因此您必须在每次运行时指定它们。

当您双击生成的 jar 时,它将由关联的 default program 运行使用默认选项,因此不会给出类路径、库路径或任何 JVM 选项(除了在系统或用户环境变量中定义的选项 - 但这些是常规设置,我不建议指定必要的属性以这种方式)。

我建议使用您的命令和您通过将其作为 java -jar 运行指定的每个选项(类路径、库路径和 JVM)创建一个 bat/cmd 文件,然后通过双击您的 bat/cmd 来运行您的应用程序文件。

您必须至少为脚本设置 PATH 变量才能找到 java.exe。您也可以使用完整路径指定它:

"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" -jar ...

您可以通过环境变量全局执行此操作,如 Oracle suggest或在本地,通过设置 JAVA_HOME and PATH variable .

您可以将bat文件修改为hide测试控制台工作正常后。

关于java - OpenCv 在 netbeans 中运行良好,但在导出的 jar 中运行不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52183728/

相关文章:

c++ - 使用 OpenCv 进行形状检测

python - OpenCV : Is there an alternative to cv2. inRange 使用半径?

2个应用程序之间的Java通信

java - 如何停止liferay中的缓存?

在 JavaFX 应用程序线程以外的线程上进行 ImageIO 调用的 JavaFX 应用程序在 Mac OS X 上挂起

java - Java 中的继承 : Extending another class when I've already extended one

java - JDialog 未显示

java - 从 Object[][] 转换为 ImageIcon

java - 在 JFrame 中自动调整 JPanel 的大小

python - 安装了 Opencv 但是 python 找不到包