新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
当前回答
首先使用此命令设置路径;
set path="paste the set path address"
然后需要加载程序。在存储的驱动器中键入“cd(文件夹名)”并编译它。例如,如果我的程序存储在D驱动器上,请键入“D:”,然后按enter键并键入“cd”(文件夹名称)。
其他回答
在我的例子中,我得到了错误,因为我在Windows7系统上混合了大写和小写的包名。将包名称改为全小写解决了问题。还要注意,在这个场景中,我将.java文件编译为.class文件时没有出错;它不会从同一个(sub-sub-sub)目录运行。
在命令行上指定类路径对我有帮助。例如:
创建新文件夹C:\temp在C:\Temp中创建Temp.java文件,其中包含以下类:公共类温度{公共静态void main(字符串参数[]){System.out.println(args[0]);}}打开C:\temp文件夹中的命令行,并编写以下命令以编译temp类:javac Temp.java运行编译后的Java类,添加-classpath选项,让JRE知道在哪里可以找到该类:java-classpath C:\tempTemp您好!
在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正确处理类路径参数。
当相同的代码在一台电脑上运行,但在另一台电脑中显示错误时,我找到的最佳解决方案是如下编译:
javac HelloWorld.java
java -cp . HelloWorld
在我的例子中,出现错误是因为我提供了源文件名而不是类名。
我们需要向解释器提供包含main方法的类名。