[英]Compiling a java file using javac and the command line
我想了解更多有關javac
以及如何使用命令行將開發人員工具用於Java的知識。
據我所知,如果我們不在當前目錄中,則需要選項-classpath
來指定javac
搜索我們的類和資源文件的路徑,因為通常類路徑設置為我們當前的工作目錄。
這是我目前的工作目錄:
/Users/user1/Desktop
我正在嘗試編譯一個.java
文件,該文件位於:
/Users/user1/Desktop/PF/
該文件名為MainClass.java
。
我試圖使用以下命令編譯它:
javac -classpath /PF MainClass.java
但它似乎不起作用,事實上我一直收到以下內容:
javac: file not found: MainClass.java
Usage: javac <options> <source files>
use -help for a list of possible options
我究竟做錯了什么?
Classpath適用於.class
文件,不適用於.java
文件。
javac
命令需要正確的.java
文件路徑來編譯它。 所以
javac ./PF/MainClass.java
將在當前目錄中創建類文件。
如果您的MainClass.java
依賴於任何正確編譯的類文件,那么您將這些類/ jar文件放在classpath中。
這不是類路徑的工作方式。 您可以使用類路徑指向Java文件編譯所需的類。 您不使用類路徑指向Java文件本身。
要么進入PF目錄並執行此操作:
javac MainClass.java
這將在PF目錄中創建MainClass.class文件。 如果您想要在桌面上創建MainClass.class文件,那么從桌面執行以下操作:
javac PF/MainClass.java
-classpath
指定javac用於查找運行javac或正在編譯的其他類所引用的類的路徑。 如果已設置,則覆蓋缺省值或CLASSPATH環境變量。 目錄由冒號分隔。 包含源文件的目錄通常在類路徑上有用。 您應該始終在路徑末尾包含系統類。
類路徑用於指定需要在類中使用的已編譯源。 例如,在此代碼中,如果要訪問另一個類,則應指定該類的已編譯源的位置。
在你的情況下,如果沒有任何類依賴,那么只需刪除classpath選項並使用[在文件夾內導航]編譯
javac Mainclass.java
刪除-classpath。 如果你在需要java文件的地方(目前你還沒有),你也可以刪除那個PF /。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.