2011-06-24 37 views
2

我有一個使用一些自動生成的源代碼的Java項目。這個源代碼是由一個命令行工具--- Bison生成的,實際上來自一個特殊的源文件。Eclipse的自定義生成規則

我希望有一種方法可以在Eclipse中按下'構建'按鈕時隨時自動重新生成Java源代碼。這是可能的,如果是的話,如何?

通常情況下,我會把它集成到項目makefile中,但當然這是Java,它不使用makefile。我看過螞蟻,但螞蟻似乎對傳統命令行工具非常不利。我知道這是可能的,因爲Android開發工具包可以使用內置的Eclipse構建器;那麼它在做什麼?

回答

7

用鼠標右鍵單擊項目,選擇Properties > Builders > New ... > Program

在那裏您可以選擇一個命令行工具,該工具將在項目生成時運行。


爲了完整:這是一個僅限Eclipse的解決方案。我建議你使用一個構建系統而不是普通的Eclipse。 Maven和Ant都很好地與Eclipse集成(Maven通過m2eclipse,Ant通過與上述相同的Builder機制),可能還有其他的。

使用Maven,您可以使用exec:execusage)。

使用Ant時,您可以使用<Exec>任務。

+0

看起來像上面的選項無條件地運行命令,這不是我想要的---我只想在輸入文件更改時運行該工具。鑑於這種事情是構建系統的核心和靈魂,Eclipse肯定會支持它? –

+0

@David我的猜測是你必須創建一個shell腳本,或者在調用可執行文件之前檢查最後修改的緩存文件。或者,您可以在「Build Options」選項卡中應用的其中一項限制適合您。 –

+5

感嘆。這是什麼,CP/M?所有1GB的Eclipse真的不能做一些八十年代的UnixUnit做的事情嗎?實際上,我現在有一個ant腳本,它無條件地將bison和jflex作爲構建過程的一部分,並且構建足夠快以至於始終重新生成源代碼不是問題,但是......只是... sheesh。就這樣。無論如何,非常感謝。 –