簡體   English   中英

使用javac和命令行編譯java文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM