無法對含有多個.java(或.class)文檔的程序進行編譯(或解釋)
阿新 • • 發佈:2019-03-07
解決方案 rtu 多個 ali 後綴名 otto str 通配 pre 即可。 ,即可正常解釋。
通常初學者會出現這樣的問題:無法對含有多個.java(或.class)文檔的程序進行編譯(或解釋)。
root@yogile-VirtualBox:/alive/string# javac work/Circular.java
work/Circular.java:3: 錯誤: 找不到符號
Circle bottom;
^
符號: 類 Circle
位置: 類 Circular
解決方案:
在/alive/string/work/
文件夾內有多個類文件,直接編譯主類是錯誤的。
可以在work/
文件夾下執行javac *.java
,或者在/alive/string/
文件夾下執行javac work/*.java
*
號是通配符,代表任何字元,來運行有多個類名的程序。
但是如果在/alive/string/
文件夾內運行java work/*.java
是錯誤的,會提示你:
錯誤: 找不到或無法加載主類 Circle.java
原因在於兩點:
Ⅰ.後綴名為.java
的源文件由javac.exe來執行,而後綴名為.class
的字節碼文件由java.exe來執行。
Ⅱ.用java.exe解釋的時候,一定要解釋主類java xxx
,(xxx即為你的多個類文件的主類)。
如果你要解釋其他文件夾下的程序,正確的用法應該是輸入java -cp 路徑 主類名
。
我這裏是在/alive/string/文件夾下執行java -cp work Circle
無法對含有多個.java(或.class)文檔的程序進行編譯(或解釋)