在windows下可以用javac命令编译java文件,但是却出现找不到或则无法加载主类,情况如下图。
出现这种结果情况,首先看自己的java环境变量是否配置正确。环境配置链接如下:
java环境变量配置(https://blog.csdn.net/stay_zezo/article/details/80155888)
如果上面的java环境变量没错,java程序可以编译但不能执行,应该是java文件中带有包名,导致执行程序出错。
例如如下java文件:
package test;
public class Test4 {
public static void main(String[] args) {
System.out.println("测试");
}
}
解决方案:
如果不引用包内的其他java文件,就使用方案一。
如果引用包内其他java文件,使用方案二,否则程序找不到java包内其他文件。
方案1.打开java文件,将 package test; 删除保存,重新javac编译java文件。然后就可以执行了。
方案2.在编译java时,使用如下格式编译:javac java文件名.java -d .
注意-d 与点号之间有一个空格
例如上面的程序:
javac Test4.java -d .
执行java程序时,需要加上包名。格式:java 包名.java文件名
例如:
java test.Test4