在文件所在的当前目录下,运行javac TestPlusPlus.java编译成功,生成TestPlusPlus.class文件,这个时Ecv21便民网

候,你用javaTestPlusPlus想运行程序,总会出现”找不到或无法加载主类“的错误。这个时候要注意,Ecv21便民网

之所以找不到,是因为TestPlusPlus在HelloWorld包名的下面。Ecv21便民网

解决办法:Ecv21便民网

1.去掉 ”package HelloWorld;“ 重新用javac 编译TestPlusPlus.java,再运行javaTestPlusPlus就可以了。Ecv21便民网

2.新建一个包名一样的文件夹,在本例中,为建立一个HelloWorld的文件夹,把TestPlusPlus.java文件移到该目录下。Ecv21便民网

然后在HelloWorld文件夹的平级下,打开DOS命令窗口,运行javacHelloWorld/TestPlusPlus.java编译程序,Ecv21便民网

运行javaHelloWorld/TestPlusPlus(或者javaHelloWorld.TestPlusPlus也可以),则可以运行含有包名的java程序。Ecv21便民网

注意:包名不要含有'.'(点),' '(空格)等特殊符号,这样的话命令行无法判断包名与java程序名的分割点在哪里,Ecv21便民网

从而还是找到或者无法加载主类。Ecv21便民网

原理说明:Ecv21便民网

java程序运行class文件,对于有包名的类,java把包名当成文件夹处理."包名+类名"相当于"文件夹目录+类名"来寻找类。Ecv21便民网