一 概述
D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java CommandLineParameter
錯誤: 找不到或無法加載主類 CommandLineParameter
D:\Project\Computer-Science-And-Technology\writeExam\farben\src\com\GC>java CommandLineParameter
錯誤: 找不到或無法加載主類 CommandLineParameter
二 問題分析&解決方法
JDK問題排除:
javac
java
根據上述截圖可以排除JDK問題,猜測是IDEA中Terminal的問題,可是使用CMD出現的結果一樣,所以排除這些問題,最后問題真正的原因是IDEA中項目java源代碼都會使用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); } } } |
因為我們的類中含有了包路徑package src.com.GC,所以我們需要將javac編譯生成class文件放入package指定的目錄結構中。
javac -d . CommandLineParameter.java // -d表示生成package指定的目錄結構 .表示生成的目錄結構保存在當前目錄
java src.com.GC.CommandLineParameter // 執行package指定的目錄結構中的程序
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 |
三 排除包問題
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 |
當java源文件中不存在包的時候就不用執行javac 編譯后的包目錄了。
總結
到此這篇關于解決IDEA和CMD中java命令提示錯誤: 找不到或無法加載主類的問題的文章就介紹到這了,更多相關IDEA錯誤:找不到或無法加載主類內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/calm_encode/article/details/108466053