簡體   English   中英

在命令提示符下使用javac編譯Java程序

[英]Compiling java program using javac from command prompt

我有一台新的筆記本電腦,上面已經安裝了jdk1.8.0_91和jre1.8.0_91。 兩者都在“ C:\\ Program Files \\ Java”文件夾中。 我沒有設置任何類路徑或任何環境變量。 我編寫了一個HelloWorld.java程序,並將其保存在“ C:\\ my Data”文件夾中。 然后,我使用cmd進入命令提示符。 然后我將當前目錄更改為“ C:\\ Program Files \\ Java \\ jdk1.8.0_91 \\ bin” ..因為這里是javac.exe

然后嘗試編譯我的HelloWorld程序,並給出以下錯誤-

C:\Program Files\Java\jdk1.8.0_91\bin>javac -sourcepath C:\my Data\HelloWorld.java
javac: invalid flag: Data\HelloWorld.com
Usage: javac <options> <source files>
use -help for a list of possible options

我不確定我是否正確使用了“ sourcepath”。

我應該如何告訴編譯器我的源文件在哪里?(並且我想在不設置任何類路徑或任何環境變量的情況下解決此問題)

改用這個...

javac -sourcepath "C:\my Data" "C:\my Data\HelloWorld.java"

sourcepath參數允許您指定將在其中找到源文件的目錄。 根據javac命令行輸出:

-sourcepath指定在何處查找輸入源文件

之后的參數指定要編譯的實際Java文件。 考慮到路徑中有空格,您將需要在參數周圍加上“。”請盡可能避免在路徑中出現空格,以免發生此問題。

您需要將源路徑放在引號中,以便命令行將其作為單個參數進行處理。 根據您的情況,源路徑也必須是目錄,而不是文件:

javac -sourcepath "C:\my Data"

-sourcepath是PATH,您指定的文件名不是Java文件,而是無效的。 從文檔:

-sourcepath源路徑

Specify the source code path to search for class or interface
definitions. As with the user class path, source path entries are
separated by colons (:) and can be directories, JAR archives, or ZIP
archives. If packages are used, the local path name within the 
directory or archive must reflect the package name.

[編輯:OP將問題中的文件名更改為.java,正如其他答案所指出的那樣,它需要用引號引起來。

路徑C:\\ my Data \\ HelloWorld.java中有空格,因此出現錯誤。

請在“”中加上路徑(雙引號)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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