2012-05-10 51 views
3

我正面臨一個問題。我在我的機器上更名爲javac.exe,注意到螞蟻javac任務仍然正常工作。哪個javac.exe被ant javac任務使用?

有沒有人知道它從哪裏得到javac.exe?

+1

你看看它的[文件]默認的(http://ant.apache.org/手動/任務/ javac.html)? –

+3

它可能帶有自己的副本。出於好奇,你爲什麼重命名javac? –

+2

檢查您的系統路徑和Java路徑。它可能會從那裏拿起javac.exe。類似的事情發生在我身上。我安裝了jdk6&jdk7,但jdk7的bin文件夾位於系統路徑中,因此它從那裏選擇了java.exe。 – Bharat

回答

-1

你可以嘗試開始here和檢查什麼是全球build.compiler屬性配置,可以指向別的地方

6

其實,我認爲,在默認情況下螞蟻試圖直接使用此代碼執行Java編譯器類:代碼來自here

這意味着如果庫tools.jar位於Ant的當前類路徑中,它將拾取該類並啓動它。這導致javac.exe可以重命名爲任何你想要的,它仍然可以工作。所以要回答你的問題,它實際上不執行任何「javac.exe」。

有javac任務的其他實現,但我認爲這是對所有的編譯器1.3+

+0

這不是孤立的。例如,如果我記得正確的話,我相信Tomcat會編譯JSP。 –