Java找不到或無法加載主類及編碼錯(cuò)誤問題的解決方案
先給出具體代碼(當(dāng)前目錄為: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 窗口運(yùn)行時(shí)出現(xiàn)“找不到或無法加載主類”問題:
D:\pro>javac TestJava.java D:\pro>java TestJava 錯(cuò)誤: 找不到或無法加載主類 TestJava
出現(xiàn)這種問題的主要原因是程序中有package即包的存在。所以,我們有兩種方法對(duì)包進(jìn)行處理。
(1)手動(dòng)新建包的目錄:
如在當(dāng)前目錄下新建:(d:\pro)–>org–>test
然后把編譯生成的TestJava.class文件移動(dòng)到d:\pro\org\test目錄下,
此時(shí)再運(yùn)行java org.test.TestJava
就可以輸出正確結(jié)果了。
D:\pro>javac TestJava.java
D:\pro>java org.test.TestJava
Hello World!!!
你好,Java??!
(2)自動(dòng)創(chuàng)建包的目錄:
運(yùn)行代碼:
javac -d . TestJava.java java org.test.TestJava
(注意:”-d . “這個(gè)點(diǎn)的前面是有空格的,否則還是運(yùn)行還是有問題的。)也能輸出正確結(jié)果:
D:\pro>javac -d . TestJava.java
D:\pro>java org.test.TestJava
Hello World!!!
你好,Java??!
2、 cmd窗口運(yùn)行時(shí)出現(xiàn)亂碼問題:
因?yàn)槲覀兊南到y(tǒng)大多是中文系統(tǒng),而不少編程軟件都是英文編譯環(huán)境,所以,當(dāng)運(yùn)行含有中文的代碼時(shí),容易出現(xiàn)亂碼問題,這時(shí)候需要改變代碼的編碼就行了。
D:\pro>javac -d . TestJava.java TestJava.java:4: 錯(cuò)誤: 編碼GBK的不可映射字符 * @date Time: 2016騫?4鏈?22鏃ヤ笅鍗?3:07:49 ^ TestJava.java:4: 錯(cuò)誤: 編碼GBK的不可映射字符 * @date Time: 2016騫?4鏈?22鏃ヤ笅鍗?3:07:49 ^ TestJava.java:4: 錯(cuò)誤: 編碼GBK的不可映射字符 * @date Time: 2016騫?4鏈?22鏃ヤ笅鍗?3:07:49 ^ 3 個(gè)錯(cuò)誤
所以這個(gè)時(shí)候需要改變中文的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?。?/pre>
從上面的代碼也可以看出來,當(dāng)程序既帶有包,且還編碼不對(duì)時(shí),我們也可以一次性解決。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
詳解mybatis如何實(shí)現(xiàn)進(jìn)行分表
在數(shù)據(jù)庫設(shè)計(jì)中,分表是一種常見的優(yōu)化策略,它可以將一個(gè)大表拆分成多個(gè)小表,以提高查詢性能和存儲(chǔ)效率,下面我們就來學(xué)習(xí)一下mybatis如何實(shí)現(xiàn)進(jìn)行分表吧2023-11-11Springboot中useGeneratedKeys用法小結(jié)
本文主要介紹了Springboot中useGeneratedKeys用法小結(jié),useGeneratedKeys?是 MyBatis 框架中的一個(gè)參數(shù),用于指定是否允許 JDBC 支持自動(dòng)生成主鍵,感興趣的可以了解一下2024-09-09如何在SpringBoot 中使用 Druid 數(shù)據(jù)庫連接池
這篇文章主要介紹了SpringBoot 中使用 Druid 數(shù)據(jù)庫連接池的實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot,感興趣的朋友可以了解下2021-03-03SpringAop中AspectJ框架的切入點(diǎn)表達(dá)式
這篇文章主要介紹了SpringAop中AspectJ框架的切入點(diǎn)表達(dá)式,AspectJ是一個(gè)基于Java語言的AOP框架,Spring2.0以后新增了對(duì)AspectJ切點(diǎn)表達(dá)式支持,@AspectJ 是AspectJ1.5新增功能,通過JDK5注解技術(shù),允許直接在Bean類中定義切面,需要的朋友可以參考下2023-08-08Java實(shí)現(xiàn)用Freemarker完美導(dǎo)出word文檔(帶圖片)
這篇文章主要介紹了Java實(shí)現(xiàn)用Freemarker完美導(dǎo)出word文檔(帶圖片),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07解決String字符串轉(zhuǎn)JSONObject順序不對(duì)的問題
這篇文章主要介紹了解決String字符串轉(zhuǎn)JSONObject順序不對(duì)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12MyBatis-Puls插入或修改時(shí)某些字段自動(dòng)填充操作示例
這篇文章主要為大家介紹了MyBatis-Puls插入或修改時(shí)某些字段自動(dòng)填充操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Java使用Thread創(chuàng)建多線程并啟動(dòng)操作示例
這篇文章主要介紹了Java使用Thread創(chuàng)建多線程并啟動(dòng)操作,結(jié)合實(shí)例形式分析了Java基于Thread類的多線程定義與啟動(dòng)簡(jiǎn)單操作技巧,需要的朋友可以參考下2018-06-06SpringBoot關(guān)閉druid的頁面和添加密碼驗(yàn)證方式
這篇文章主要介紹了SpringBoot關(guān)閉druid的頁面和添加密碼驗(yàn)證方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05