一 概述
D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java CommandLineParameter
錯(cuò)誤: 找不到或無(wú)法加載主類 CommandLineParameter
D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java CommandLineParameter
錯(cuò)誤: 找不到或無(wú)法加載主類 CommandLineParameter
二 問(wèn)題分析&解決方法
JDK問(wèn)題排除:
javac
java
根據(jù)上述截圖可以排除JDK問(wèn)題,猜測(cè)是IDEA中Terminal的問(wèn)題,可是使用CMD出現(xiàn)的結(jié)果一樣,所以排除這些問(wèn)題,最后問(wèn)題真正的原因是IDEA中項(xiàng)目java源代碼都會(huì)使用package指定包路徑。
1
2
3
4
5
6
7
8
9
10
11
|
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); } } } |
因?yàn)槲覀兊念愔泻辛税窂絧ackage src.com.GC,所以我們需要將javac編譯生成class文件放入package指定的目錄結(jié)構(gòu)中。
javac -d . CommandLineParameter.java // -d表示生成package指定的目錄結(jié)構(gòu) .表示生成的目錄結(jié)構(gòu)保存在當(dāng)前目錄
java src.com.GC.CommandLineParameter // 執(zhí)行package指定的目錄結(jié)構(gòu)中的程序
1
2
3
4
|
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 |
三 排除包問(wèn)題
1
2
3
4
5
6
7
8
|
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源文件
1
2
3
4
|
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 |
當(dāng)java源文件中不存在包的時(shí)候就不用執(zhí)行javac 編譯后的包目錄了。
總結(jié)
到此這篇關(guān)于解決IDEA和CMD中java命令提示錯(cuò)誤: 找不到或無(wú)法加載主類的問(wèn)題的文章就介紹到這了,更多相關(guān)IDEA錯(cuò)誤:找不到或無(wú)法加載主類內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/calm_encode/article/details/108466053