2012-06-24 230 views
3

我目前正在以非常笨拙的方式構建桌面Java應用程序。該應用程序部署在Windows,Mac和Linux上。這裏是我的構建過程現在:Java構建系統選項

在Windows上:

  • 更新本地倉庫
  • 火起來的Eclipse
  • 刷新項目
  • 雙擊.jardesc文件生成一個可執行的JAR文件
  • 將可執行jar提交到源代碼管理
  • 打開.nsi腳本並單擊編譯按鈕(我有N SSI插件安裝)產生.exe安裝
  • 上傳安裝到FTP服務器發佈

在Mac:

  • 更新本地倉庫
  • 運行shell腳本用來生成.dmg文件.jar源代碼管理
  • 上傳到FTP服務器發佈

在Linux上:

  • 更新本地倉庫
  • 運行shell腳本的源代碼控制使用的.jar
  • 上傳到FTP服務器上生成的.deb文件發佈

我也想在我未來的版本中包含一些額外的步驟,例如:

  • 設置生成日期
  • 設置HEAD git的承諾-ID
  • 執行一些代碼混淆

我如何能簡化和加快這一進程有什麼建議?

回答

3

如果你是嚴重的有一個良好的構建系統,那麼我建議你學習和使用Maven,其中規定:根據聲明的項目定義

  • 綜合項目構建生命週期管理(pom.xml中)
  • 一個巨大的範圍插件的,我希望將能夠處理所有您需要
  • 與Eclipse很好的整合
  • 全部依賴關係管理的具體構建步驟(包括自動resoluti在線和下載依賴關係)

這不是爲了隱隱的心(Maven是一個複雜的野獸),但從長遠來看這是一個很好的解決方案。

+0

你還應該看看[Apache Buildr](http://buildr.apache.org/)。它使用Maven倉庫,併爲您提供Maven的所有好處,但不會讓您失去管理一堆XML的頭髮。您可以使用Ruby代替您的構建過程。 – edoloughlin

2

第一步是隻得到一切建築物不使用Eclipse。

您可能還想考慮使用諸如Jenkins之類的東西來自動執行某些操作。你仍然需要構建腳本。

一個解決方案可能看起來像

  1. 更新存儲庫。
  2. Jenkins檢測到更新並生成jar。
  3. 詹金斯將罐子保存到某個位置。

然後,您可以爲每個操作系統單獨構建,也可以在Jenkins中運行。這些可以在成功完成第一次構建時自動觸發。這些將分別爲:

  1. 拿起從以前的版本罐子。
  2. 將操作系統特定的二進制文件發佈到FTP站點。

Ant是一個良好的開端,但你也可能想看看Apache IvyMaven,因爲這些將有助於有點與管理您的生成輸出和依賴性。