[英]NoClassDefFoundError when running a java class through the command prompt
我刚刚使用IntelliJ完成了一个很大的项目,并说我会为没有IDE的人提供命令行语句来运行它(项目将由不同的人在不同的机器上运行等)。 我有一段时间没有使用命令行,所以我有点生疏了。 我得到了一个NoClassDefFoundError:错误的名字,我一直在寻找关于S / O的问题,例如为什么我在Java中得到NoClassDefFoundError? 但这些似乎并没有解决我的问题。 我正在使用相当多的外部库,但我在尝试运行时正确导入了它们。 编译了很多类,但只运行一个,所以我假设我只在Main类上运行“java”命令
java -cp .; poi-3.17 / lib / comms-codec-1.10.jar; poi-3.17 / lib / commons-collections4-4.1.jar; poi-3.17 / lib / commons-logging-1.2.jar; poi-3.17 /lib/junit-4.12.jar;poi-3.17/lib/log4j-1.2.17.jar;poi-3.17/ooxml-lib/curvesapi-1.04.jar;poi-3.17/ooxml-lib/xmlbeans-2.6.0 .jar; poi-3.17 / poi-3.17.jar; poi-3.17 / poi-ooxml-3.17.jar bin / com / company / Main
以上就是我一直努力工作的事情,所以对我可能做错的任何建议都会表示赞赏
整个异常是“错误:无法找到或加载主类主要由以下引起:java.lang.NoClassDefFoundError:com / company / Main(错误名称:Main)”
注意,我正在使用Windows
@凯斯- brindescu是正确的,你必须指定一个像com.company.Main类,而且,你必须从bin目录中执行的类。 所以,运行'cd bin'然后你的命令,它应该工作。 这是这样的,因为你的PATH以点''开头。 这意味着在这个目录中 。
首先, -cp
参数的jar文件的分隔符是冒号(:),而不是分号(;)。 使用分号将更改参数的解析方式。
此外,运行主类时,必须指定完全限定名称(com.company.Main),而不是类文件的路径。 将从-cp
参数解析类文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.