新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
当前回答
在Windows PowerShell中使用-cp选项运行java时,可能会出现如下错误:
The term `ClassName` is not recognized as the name of a cmdlet, function, script ...
为了让PowerShell接受命令,-cp选项的参数必须包含在引号中,如下所示:
java -cp 'someDependency.jar;.' ClassName
以这种方式形成命令应该允许Java正确处理类路径参数。
其他回答
在IDE开发环境中(Eclipse、NetBeans或其他),您必须将项目财产配置为具有主类,以便IDE知道当您单击“Play”时要执行的主类的位置。
右键单击项目,然后单击财产转到跑步类别并选择您的主类别点击Run(运行)按钮。
这是另一个花费了我一点时间的问题:命令行类路径参数的行为与您预期的不同。我在MacOS上直接调用CLI,并且在调用中包含两个jar。
例如,这两个都让工具混淆了主类的名称:
这是因为星号导致它错误地解析参数:
java-cp路径/to/jars/*com.mypackage.Main
这是因为我不知道为什么:
java-cp“*.jar”com.mypackage.Main
这是有效的:
java-cp“path/to/jars/*”com.mypackage.Main
显式列出两个jar也有效:
java-cp路径/to/jars/jar1.jar:路径/to/jar/jar2.jar com.mypackage.Main
在这种情况下,我犯了这样一个错误:
java -cp lib.jar com.mypackage.Main
它与以下各项一起工作:;对于Windows和:对于Unix:
java -cp lib.jar; com.mypackage.Main
首先使用此命令设置路径;
set path="paste the set path address"
然后需要加载程序。在存储的驱动器中键入“cd(文件夹名)”并编译它。例如,如果我的程序存储在D驱动器上,请键入“D:”,然后按enter键并键入“cd”(文件夹名称)。
在我的例子中,我只是在Eclipse中更改JRE。
请查找随附的屏幕截图: