java“找不到或無法加載主類”及編碼錯誤問題

先給出具體代碼(當前目錄爲:D:\pro):

package org.test;
public class TestJava{
    public static void main(String args[]){
        System.out.println("Hello World!!!");
        System.out.println("你好,Java!!");
    }
}

1、 cmd 窗口運行時出現“找不到或無法加載主類”問題:

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)自動創建包的目錄:
運行代碼:

 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窗口運行時出現亂碼問題:
因爲我們的系統大多是中文系統,而不少編程軟件都是英文編譯環境,所以,當運行含有中文的代碼時,容易出現亂碼問題,這時候需要改變代碼的編碼就行了。


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


D:\pro>javac -encoding UTF-8 -d . TestJava.java

D:\pro>java org.test.TestJava
Hello World!!!
你好,Java!!

從上面的代碼也可以看出來,當程序既帶有包,且還編碼不對時,我們也可以一次性解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章