新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
当前回答
在我的例子中,我只是在Eclipse中更改JRE。
请查找随附的屏幕截图:
其他回答
2022年之前的Java新版本为Java18。您只需编写package关键字和文件夹名称,其中包含java扩展文件和分号,如下所示:
包JavaProgramming;
因为我在JavaProgramming文件中有hello.java文件。注意:在为java编写文件夹名时,不要给空格。像Java编程一样,你必须保持它的样子;Java编程等;
简单hello世界的整个代码结构如下所示:
package JavaProgramming;
public class hello {
public static void main(String[] args) {
System.out.println("Hello java after long time");
}
}
对于数据库连接,我得到了这个。我刚刚在类路径中添加了以下内容:
export CLASSPATH=<path>/db2jcc4.jar:**./**
我在这里附上了。/最后,这样我的类在加载时也会被识别。
现在只需运行:
java ConnectionExample <args>
它工作得很好。
在我的例子中,出现错误是因为我提供了源文件名而不是类名。
我们需要向解释器提供包含main方法的类名。
我以为我不知怎么设置了错误的类路径,但问题是我键入了:
java -cp C:/java/MyClasses C:/java/MyClasses/utilities/myapp/Cool
而不是:
java -cp C:/java/MyClasses utilities/myapp/Cool
我认为完全限定的意思是包含完整的路径名而不是完整的包名。
在命令行上指定类路径对我有帮助。例如:
创建新文件夹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您好!