2012-09-23 49 views
1

screenshot from EclipseEclipse定製程序構建鏈 - 添加源文件

我正在爲Java開發一個相當大的Android軟件(使用Eclipse和ADT)。

爲了支持我發展,我做出了自己的命令行工具,執行以下操作:

  1. 加載和處理某些Java文件(從我開發的軟件項目)
  2. 輸出 Java文件到一個特定的文件夾(所以輸入文件也保留)到我的項目

什麼命令行工具不相關,它的輸出只是標準的Java代碼(即它是一個代碼基因rator)。

我希望這個命令行工具在構建過程中自動調用。換句話說,當我完成手動編碼並開始構建過程(例如通過單擊「運行...」)時,我希望發生以下情況:

  1. 命令行工具運行
  2. 通過命令行工具生成的文件都包含在建太多(即它們編譯正是好像他們,並將在Eclipse項目中手動編碼)。

我很確定我必須將此程序作爲「程序」添加到項目的生成器列表中(請參閱附件截圖)。我的問題:

  1. 什麼位置放呢?它應該是第一個嗎?
  2. 我還需要做什麼才能滿足上述要求? 恐怕,如果命令行工具只是將.java文件寫入文件夾,Eclipse 將不會看到新生成的文件(因爲它們沒有添加到其項目文件中)。

回答

1

你是在正確的軌道上,它會正常工作在這些條件下:

  • 你的建設者必須是在頂部,因此它可以在Java Builder運行之前修改的源文件。
  • 您的Java文件必須生成爲項目的現有「src」路徑之一。 Java文件沒有在項目中註冊,因此如果您將某些東西放入項目的源文件夾中,它將被編譯。像xtext和xtend這樣的Eclipse工具的工作方式也是一樣的。
  • 必須激活構建器的刷新選項。否則,工作區不會知道您創建了文件(因爲您的程序使用java.io.File操作,從而繞過了資源的工作區API)。
+0

非常感謝您提供完整且非常有用的信息。控制檯程序能否影響整個構建過程的成功?我的意思是,有沒有辦法導致構建失敗(例如,如果我的代碼生成器遇到錯誤),還是完全解耦? –

+1

沒有這樣的事情,因爲Eclipse構建器的整體失敗/成功。每個建築商都會對資源變化做出反應,並嘗試與他們做某些事情,而不依賴於其他任何建築商。不過,您可以輕鬆生成一些導致編譯錯誤的Java代碼(例如,將錯誤消息逐字打印到生成的Java文件中),或者根本不會生成任何代碼(如果「正常」代碼取決於您的編譯器也失敗)。 – Bananeweizen

相關問題