2011-03-21 135 views
1

我對JAVA很新穎。我寫了簡單的程序(在Linux -VIM編輯器中),編譯並執行它,一切都很好。從不同目錄編譯java文件

現在,我已經將該文件移動到不同的目錄,並試圖編譯(javac Myfile.java)它,但它會引發一條錯誤消息,如javac-not found

有人可以解釋是什麼問題?

+0

是你的路徑中的javac嗎? – Timo 2011-03-21 12:09:40

+0

是的,我猜...因爲當我簡單地創建一個java文件並使用javac myfile.java進行編譯時,它的編譯良好的 – kiddo 2011-03-21 12:15:35

+0

Classpath沒有正確設置。覈實。 – 2011-03-21 12:39:06

回答

1

你原來的問題不完全清楚(因爲它沒有包含完整的錯誤信息)。

從您的評論:

$ 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選項,以便編譯器可以找到其他源文件。

+0

是的,其實我試了一下,它的工作。 like javac /home/kiddo/myfikle.java – kiddo 2011-03-21 12:50:37

1

正確設置類路徑和路徑並檢查其工作是否正常。

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

+0

- 應該是我的文件所在的目錄..?例如/ home/kiddo/Java_pgms – kiddo 2011-03-21 12:13:57

+0

將路徑正確設置爲jdk安裝的bin目錄,它應該工作 – Deepak 2011-03-21 12:19:18

+0

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的<源文件> 使用-help爲可能的選項 – kiddo 2011-03-21 12:23:07