2010-04-04 27 views
-1

兩個問題:編譯一堆東西的文件夾中(Java中,在Mac)

  • 我如何編譯一個.java文件 不在我的用戶名(如在文件或東西 其他一些子文件夾 )
  • 如果我有多個.java文件和我 編譯一個包含 包含在其他請問 編譯器來編譯那些其他文件的方法。

繼承人是第二個問題的例子。

example1.java:

class example1 
{ 
main() { 
    example2.method() } 
} 

example2.java:

class example2 
{ 
    method() 
} 

當我編譯example1.java將example2.java也可以被編譯?

回答

3

Java可以通過兩種方式找到引用文件:從源路徑或類路徑。

源路徑告訴javac在哪裏可以找到.java源文件。如果需要編譯它,它會。它會把它們放到指定的輸出目錄中。

類路徑告訴javac在哪裏爲編譯的Java類找到.class文件。 Java將使用這些來解析外部引用(如example2)。

因此,在您的情況下,如果Java可以在類路徑中找到一個,它將使用現有的example2。如果不能,它會在源路徑中找到一個並編譯它(如果類文件在某些​​情況下也存在,它也會這樣做)。如果它在源路徑中找不到它,這是一個編譯錯誤。

+0

那麼我在終端做什麼? – David 2010-04-04 05:06:15

+0

你可以使用-cp標誌設置類路徑,然後傳入要搜索的目錄列表,語法類似於用於設置系統PATH變量的冒號定界語法 – Michael 2010-04-04 05:13:43

+0

以及我不知道如何做那個eather所以你爲什麼不寫一個讓所有事情都清楚明確的答案,我會以你自己的方式投出一兩張。 – David 2010-04-04 05:17:27