java - 名称错误 NoClassDefFoundError

标签 java package classpath

我有一个目录 /mydir、包 p /mydir/p 和类 cl /mydir/p/cl.class

我不想cd进入包目录。 如果可能的话,如何从包目录外部执行我的类,例如目录 /my/otherdir/here

/my/otherdir/here>java -cp /mydir/p p.cl

收到 java.lang.NoClassDefFoundError: p/cl 错误。

显然java -cp/mydir/p cl会抛出错误的名称:p/cl错误。

最佳答案

包目录p不需要位于类路径上。这是它的父目录 /mydir 的作用。不过,在提供类名(如 p.cl)时需要包含该包。

java -cp /mydir p.cl

关于java - 名称错误 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19278935/

相关文章:

java - Apache CLI 无法识别 Eclipse 中的启动参数

java - 缺少 jar 会影响 Fortify 扫描结果吗?

java - 在预煮中使用变量

python - 有没有更简单的方法用 Python 打包?

google-chrome - chrome 打包应用程序上的打印支持

java - 如何正确使用 ClassLoader.getResources()?

java - 如何获取另一个java项目的类路径?

java - 如何从 Java 中的特定字符串中删除特定字符?

node.js - 通过 GIT 安装私有(private) NPM 模块并更新?

java - SaxonParserTest 缺少 SaxonXQDataSource?