好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java找不到或无法加载主类及编码错误问题的解决方案

先给出具体代码(当前目录为:d:\pro):

?

1

2

3

4

5

6

7

package org.test;

public class testjava{

   public static void main(string args[]){

     system.out.println( "hello world!!!" );

     system.out.println( "你好,java!!" );

   }

}

1、 cmd 窗口运行时出现[找不到或无法加载主类]问题:

?

1

2

3

d:\pro>javac testjava.java

d:\pro>java testjava

错误: 找不到或无法加载主类 testjava

出现这种问题的主要原因是程序中有package即包的存在。所以,我们有两种方法对包进行处理。

(1)手动新建包的目录:

如在当前目录下新建:(d:\pro)–>org–>test

然后把编译生成的testjava.class文件移动到d:\pro\org\test目录下,

此时再运行java org.test.testjava

就可以输出正确结果了。

d:\pro>javac testjava.java
d:\pro>java org.test.testjava
hello world!!!
你好,java!!

(2)自动创建包的目录:

运行代码:

?

1

2

javac -d . testjava.java

java org.test.testjava

(注意:]-d . [这个点的前面是有空格的,否则还是运行还是有问题的。)也能输出正确结果:

d:\pro>javac -d . testjava.java
d:\pro>java org.test.testjava
hello world!!!
你好,java!!

2、 cmd窗口运行时出现乱码问题:

因为我们的系统大多是中文系统,而不少编程软件都是英文编译环境,所以,当运行含有中文的代码时,容易出现乱码问题,这时候需要改变代码的编码就行了。

?

1

2

3

4

5

6

7

8

9

10

11

d:\pro>javac -d . testjava.java

testjava.java: 4 : 错误: 编码gbk的不可映射字符

  * @date time: 2016 骞? 4 鏈? 22 鏃ヤ笅鍗? 3 : 07 : 49

           ^

testjava.java: 4 : 错误: 编码gbk的不可映射字符

  * @date time: 2016 骞? 4 鏈? 22 鏃ヤ笅鍗? 3 : 07 : 49

             ^

testjava.java: 4 : 错误: 编码gbk的不可映射字符

  * @date time: 2016 骞? 4 鏈? 22 鏃ヤ笅鍗? 3 : 07 : 49

                ^

3 个错误

所以这个时候需要改变中文的gbk 编码为utf-8编码:

代码:java -encoding utf-8 testjava.java

?

1

2

3

4

d:\pro>javac -encoding utf- 8 -d . testjava.java

d:\pro>java org.test.testjava

hello world!!!

你好,java!!

从上面的代码也可以看出来,当程序既带有包,且还编码不对时,我们也可以一次性解决。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:https://blog.csdn.net/y999666/article/details/51220494

查看更多关于Java找不到或无法加载主类及编码错误问题的解决方案的详细内容...

  阅读:18次