解決IDEA和CMD中java命令提示錯誤: 找不到或無法加載主類的問題
一 概述
CMD
D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java CommandLineParameter
錯誤: 找不到或無法加載主類 CommandLineParameter
IDEA
D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java CommandLineParameter
錯誤: 找不到或無法加載主類 CommandLineParameter
二 問題分析&解決方法
JDK問題排除:
javac

java

根據(jù)上述截圖可以排除JDK問題,猜測是IDEA中Terminal的問題,可是使用CMD出現(xiàn)的結(jié)果一樣,所以排除這些問題,最后問題真正的原因是IDEA中項目java源代碼都會使用package指定包路徑。
package src.com.GC;
public class CommandLineParameter {
public static void main(String[] args) {
System.out.println(args);
for (String s:args) {
System.out.println(s);
}
}
}
因為我們的類中含有了包路徑package src.com.GC,所以我們需要將javac編譯生成class文件放入package指定的目錄結(jié)構(gòu)中。
javac -d . CommandLineParameter.java // -d表示生成package指定的目錄結(jié)構(gòu) .表示生成的目錄結(jié)構(gòu)保存在當前目錄
java src.com.GC.CommandLineParameter // 執(zhí)行package指定的目錄結(jié)構(gòu)中的程序
D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>javac -d . CommandLineParameter.java D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java src.com.GC.CommandLineParameter [Ljava.lang.String;@15db9742
三 排除包問題
public class Test{
public static void main(String[] args) {
System.out.println(args);
for (String s:args) {
System.out.println(s);
}
}
}
Test.java是不好含有package聲明的java源文件
D:\Project\Computer-Science-And-Technology\writeExam\test>javac Test.java D:\Project\Computer-Science-And-Technology\writeExam\test>java Test [Ljava.lang.String;@15db9742
當java源文件中不存在包的時候就不用執(zhí)行javac 編譯后的包目錄了。
總結(jié)
到此這篇關(guān)于解決IDEA和CMD中java命令提示錯誤: 找不到或無法加載主類的問題的文章就介紹到這了,更多相關(guān)IDEA錯誤:找不到或無法加載主類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解hashCode()和equals()的本質(zhì)區(qū)別和聯(lián)系
這篇文章主要介紹了詳解hashCode()和equals()的本質(zhì)區(qū)別和聯(lián)系,本文先對兩種方法作了介紹,然后對二者聯(lián)系進行分析,具有一定參考價值,需要的朋友可以了解下。2017-09-09
SparkSQL中的JSON內(nèi)置函數(shù)全解析
你是否曾經(jīng)為處理JSON數(shù)據(jù)而頭疼?SparkSQL為我們提供了強大的內(nèi)置JSON函數(shù),讓JSON處理變得輕而易舉,本文將帶你深入了解這些函數(shù),感興趣的朋友一起看看吧2024-08-08
Java線程之間數(shù)據(jù)傳遞的實現(xiàn)示例(4種)
我們經(jīng)常會遇到父子線程數(shù)據(jù)傳遞(非調(diào)用參數(shù))的場景,本文主要介紹了Java線程之間數(shù)據(jù)傳遞的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2023-08-08

