编译和运行java文件 找不到或无法加载主类
这边提供一个关于程序中含有package关键字,使用“终端”运行程序时出现“找不到或无法加载主类”,而使用Eclipse软件可以正常运行程序的可能解决办法。
例如程序名为HelloWorldTest.java,程序中含有package helloWorld语句,而该包位于javatest目录下,即javatest/helloWorld/HelloWorldTest.java。
应该在java文件所在的目录运行javac指令,即在helloWorld目录中运行javac HelloWorldTest.java
再在包所在的上层目录中运行java指令,即在javatest目录中运行java helloWorld.HelloWorldTest
由于是在OS X环境下学习的java,对于classpath等的设置不太熟悉,可能此方法与部分答主所述为同一意思。
作者:顾志方
链接:https://www.zhihu.com/question/36537093/answer/206814470
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
https://www.cnblogs.com/Ring1981/p/6240412.html
//这个问题原因有以下几种,但是和环境变量并没有太大的关系//能够执行java 和 javac 就证明你的环境变量已经配置好了,其实 classpath 可以不配置//假如有如下文件:H:\code\Hello.javapublic class Hello{ public static void main(String[]args){ System.out.println("Hello"); }}//正确编译命令: javac Hello.java//正确运行命令: java Hello错误1:H:\code>java Hello.java错误: 找不到或无法加载主类 Hello.java原因:命令错误错误2:H:\code>java Hello.class错误: 找不到或无法加载主类 Hello.class原因:命令错误错误3:java 源文件带有包名,往往容易出错如:H:\code\Hello2.javapackage com.example;public class Hello2{ public static void main(String[]args){ System.out.println("Hello2"); }}这代码看上去没什么问题,执行:H:\code>javac Hello2.javaH:\code>java Hello2错误: 找不到或无法加载主类 Hello2解决办法:+.删除包名 或者 +.在code 下创建一个与包名相同的文件结构(H:\code\com\example\Hello2.java) 编译:H:\code>javac com/example/Hello2.java 运行:H:\code>java com.example.Hello2

浙公网安备 33010602011771号