我對JAVA很新穎。我寫了簡單的程序(在Linux -VIM編輯器中),編譯並執行它,一切都很好。從不同目錄編譯java文件
現在,我已經將該文件移動到不同的目錄,並試圖編譯(javac Myfile.java)它,但它會引發一條錯誤消息,如javac-not found
。
有人可以解釋是什麼問題?
我對JAVA很新穎。我寫了簡單的程序(在Linux -VIM編輯器中),編譯並執行它,一切都很好。從不同目錄編譯java文件
現在,我已經將該文件移動到不同的目錄,並試圖編譯(javac Myfile.java)它,但它會引發一條錯誤消息,如javac-not found
。
有人可以解釋是什麼問題?
你原來的問題不完全清楚(因爲它沒有包含完整的錯誤信息)。
從您的評論:
$ javac Example1.java
javac: file not found: Example1.java
Usage: javac <options> <source files> use -help for a list of possible options
所以,javac的沒有找到文件的Java示例。
通常,您不必設置CLASSPATH(在bash中使用export CLASSPATH=
),並且javac將在當前目錄中搜索源。您的Example1.java
在當前目錄中嗎? (輸入ls
並查看輸出。)
如果不是,則應該將該文件的路徑作爲參數指定給javac ...但它確實更好,因此只需移動到cd
的正確目錄即可。
如果您使用的是軟件包,請將shell放在軟件包目錄層次結構頂部的目錄中,然後使用相關文件名從此處調用編譯器。
編輯,因爲我看到了下一個問題來了:
-d
參數給出的輸出目錄樹所產生的類文件(或者當前目錄,如果不給),通過它們的包結構,所以確保你稍後在調用程序時搜索它們。如果編譯器需要其它類編譯器在命令行所指示的文件,它搜索在類路徑的類文件(由-classpath
或-cp
選項給出,或由CLASSPATH
環境變量,或者當前目錄)和源源路徑中的文件(如果沒有設置源路徑,則由-sourcepath
選項給出或者類路徑)。如果需要的話,兩者都存在並且源文件更新,它也會被重新編譯。 (它們也是根據封裝結構進行搜索的。)
所以在這種情況下,您應該確保通過-sourcepath
選項,以便編譯器可以找到其他源文件。
是的,其實我試了一下,它的工作。 like javac /home/kiddo/myfikle.java – kiddo 2011-03-21 12:50:37
正確設置類路徑和路徑並檢查其工作是否正常。
USAGE:
SET CLASSPATH=%<CLASSPATH>%
SET PATH=%<PATH_WHERE_JDKS_BIN_LOCATED>%
PATH環境變量必須指向JDK安裝的bin目錄...
USAGE:
Variable : JAVA_HOME
Value : C:\Program Files\Java\jdk1.5.0\bin;.
Variable: PATH
Value : C:\Program Files\Java\jdk1.5.0\lib
System Variables :
Value : %JAVA_HOME%\bin;
由於文件不在當前目錄中做如下的提示
$cd home/kiddosr/Kiddo/Java_Programs/ and press enter
home/kiddosr/Kiddo/Java_Programs at this point of time type javac Example1.java
將路徑正確設置爲jdk安裝的bin目錄,它應該工作 – Deepak 2011-03-21 12:19:18
FYI..am using Linux $ PATH =/home/jdk1.6.0_14/bin $ java -version java版本「1.6.0_14」 Java™SE運行時環境(版本1.6.0_14-b08) Java HotSpot™服務器VM(版本14.0-b16,混合模式) $ CLASSPATH =/home/kiddosr/Kiddo/Java_Programs $ javac的Example1.java 的javac:未找到文件:Example1.java 用法:javac的
是你的路徑中的javac嗎? – Timo 2011-03-21 12:09:40
是的,我猜...因爲當我簡單地創建一個java文件並使用javac myfile.java進行編譯時,它的編譯良好的 – kiddo 2011-03-21 12:15:35
Classpath沒有正確設置。覈實。 – 2011-03-21 12:39:06