實際上,我正在執行一個特定的程式,如下圖所示......
第一種情況:在Intellij IDE中使用默認 Run選項運行 same.java 檔案
-> 提供正確的輸出(您可以在圖片中看到)

第二種情況:在終端中使用命令javac same.java運行 same.java 檔案
error: cannot find symbol
anotherClass.main(new String[]{"aditya"});
^
symbol: variable anotherClass
location: class same

為什么會出現這個問題...據我所知,在 java 中,默認情況下會匯入“java.lang”和“當前作業目錄”包...
uj5u.com熱心網友回復:
當您從 IDE 運行代碼時,IDE 會編譯專案中的所有類。當您從命令提示符運行代碼時,您必須編譯所有必要的類。在這種情況下,您沒有編譯anotherClass.
這是有關如何從命令列編譯多個檔案的鏈接:https ://docs.oracle.com/en/java/javase/13/docs/specs/man/javac.html 。轉到“編譯多個源檔案的示例”部分
作為旁注,使用正確的命名約定。行業接受的類命名約定是“CamelCase”。
uj5u.com熱心網友回復:
發生這種情況是因為檔案anotherClass.java的已編譯位元組碼在位置com/company/com不可用。檢查 IntelliJ 保存.class檔案的檔案夾并直接執行它們。
此外,如果您想通過終端手動編譯這些檔案,請從包外部(src檔案夾)進行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/419801.html
標籤:
