首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可运行jar时的NoClassDefFoundError

可运行jar时的NoClassDefFoundError
EN

Stack Overflow用户
提问于 2015-09-19 01:40:20
回答 2查看 848关注 0票数 0

大家好,我已经在我的项目中包含了Webcam-Capture API。

当我在Netbeans中运行它时,一切运行正常。但是当我把所有东西编译成一个可运行的jar时,我得到了这条消息,试图通过cmd行运行它。

你们有人能帮我吗?

我已经尝试解绑和重新绑定所有jars和更改jdks,但都不起作用

EN

回答 2

Stack Overflow用户

发布于 2015-09-19 02:02:14

在命令行中添加-classpath标志,指向文件系统中Webcam-Capture API所在的路径,除非您想要创建一个executable.In包,您的情况应该如下所示

代码语言:javascript
复制
java  -classpath YOURJAR.jar;folder_of_dependant_jar/*;. com.awesome.pagackage.Starter

其中YOURJAR.jar包含com.awesome.pagackage.Starter.main(字符串args[])

您还提到您的jar是一个可运行的jar,这也意味着在导出/构建时,您可以采用以下方式之一。(请注意,此功能还在eclipse中,但您会明白这一点).Each您在库处理中看到的以下选项会做一些特定的事情。

第一个选项:将依赖的jar作为java packaging.This提取到目标jar中,这意味着如果您的包是com.awesome.package,并且依赖的jar具有包logic.package;,则在构建可运行的jar之后,您可以在jar文件中发现这两个包都存在。

第二种选择:我认为它更多的是针对eclipse的,因为eclipse添加了几个自己的、可运行生成的类,所以我不在这里解释它。

第三个选项:是最有趣的一个。它创建的文件夹结构如下

ndon_lib\external.jar (外部jar文件) ndon.jar (您的jar文件)

这一次,manifest.mf文件包含如下内容。

代码语言:javascript
复制
Class-Path: . ndon_lib/external.jar
Main-Class: com.awesome.pagackage.Starter

票数 2
EN

Stack Overflow用户

发布于 2015-09-19 02:05:31

您应该设置类路径

代码语言:javascript
复制
java -cp "your.jar"  "yourclass"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32657985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档