大家好,我已将 Webcam-Capture API 包含在我的项目中。
当我在 Netbeans 中运行它时,一切正常。但是当我将所有内容编译到可运行的 jar 时,我收到此消息试图通过 cmd 行运行它。
你们谁能帮我吗?
我已经尝试解除绑定(bind)并反弹所有 jar 并更改 jdks,但它不起作用
最佳答案
在命令行中添加 -classpath 标志,指向文件系统中 Webcam-Capture API 存在的路径,除非您想创建单个包可执行文件。在您的情况下,它应该如下所示
java -classpath YOURJAR.jar;folder_of_dependant_jar/*;. com.awesome.pagackage.Starter
其中 YOURJAR.jar 包含 com.awesome.pagackage.Starter.main(String args[])
您还提到您的 jar 是一个可运行的 jar,这也意味着在导出/构建时您可以执行以下方式之一。(注意,此功能在 eclipse 中,但您会明白的)。每个您在库处理中看到的以下选项会执行特定的操作。
第一个选项:将依赖的jar作为java打包提取到你的目标jar中。这意味着如果你的包是com.awesome.package并且依赖的jar有包logic.package; ,构建可运行的 jar 后,您可以发现这两个包都存在于您的 jar 文件中。
第二个选项:我认为它更多地针对 Eclipse,因为 Eclipse 添加了一些自己的可运行生成类,所以我不在这里解释它。
第三个选项:是最有趣的一个。它创建如下所示的文件夹结构
ndon_lib\external.jar(外部 jar 文件) ndon.jar(您的 jar 文件)
这次,manifest.mf 文件包含如下内容。
Class-Path: . ndon_lib/external.jar
Main-Class: com.awesome.pagackage.Starter
关于java - 可运行 jar 时出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32657985/