2009-09-04 26 views
23

我正在將一箇中等大小的Java應用程序的構建從Ant遷移到Maven。我可以輕鬆地遷移基本建築物,但我也想從Maven構建中創建安裝程序包。最簡單的方法是通過Ant插件調用原始的Ant腳本,但我想也許我應該首先考慮一下Maven的支持。如何使用Maven創建安裝程序

我需要爲不同平臺的多個不同的安裝:

  • 的Windows 32/64位
  • 的Linux 32/64位
  • MacOS的32/64位

對於Linux現在我認爲我們只有一個tar.gz和一些Bash腳本來啓動守護進程 - Debian/RPM包會更好,也許還有相關的包定義。對於Windows安裝程序,我們使用NullSoft安裝程序。我不知道現在如何組裝MacOS套件。

是否有任何工具可以從Maven執行此操作(或至少部分操作)?

+0

出於興趣,您是如何發現遷移的? – 2009-09-04 09:26:35

回答

18

我會用IzPack maven plugin如果你需要一個全面的安裝程序或appassembler-maven-plugin如果你只是需要生成Java服務守護進程。

還有用於NSISDebian,並且RPM包裝插件,但使用這些意味着你必須保持配置爲每個平臺,而另一方面的IzPack允許您生成適用於Windows XP/Vista中/ 2003/2000年安裝程序,Mac OS X,Solaris,Linux和* BSD。


appassembler插件提供了爲每個平臺生成JSW守護進程的目標。下面是一個例子配置:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>appassembler-maven-plugin</artifactId> 
    <version>1.0</version> 
    <execution> 
    <id>generate-jsw-scripts</id> 
    <phase>package</phase> 
    <goals> 
     <goal>generate-daemons</goal> 
    </goals> 
    <configuration> 
     <daemons> 
     <daemon> 
      <id>myApp</id> 
      <mainClass>name.seller.rich.MainClass</mainClass> 
      <commandLineArguments> 
      <commandLineArgument>start</commandLineArgument> 
      </commandLineArguments> 
      <platforms> 
      <platform>jsw</platform> 
      </platforms>    
     </daemon> 
     </daemons> 
     <target>${project.build.directory}/appassembler</target> 
    </configuration> 
    </execution> 
</plugin> 
+0

我也使用Izpack我的Windows發行版,但創建的Linux安裝程序不是很像Linux和OSX安裝程序是一個非常糟糕的主意,我會使用一個單獨的安裝程序爲OSX。 – 2012-11-29 11:58:29

0

我尋找到Installjammer - 我沒有看到一個Maven插件,但用的IzPack相比,它看起來更加專業。

0

BitRock InstallBuilder可以與Maven(和其他CI構建工具)一起使用來生成Windows EXE安裝程序,Linux二進制文件/ RPM/DEB和OS X安裝程序。這是商業化的,但我們爲小公司/獨立開發者和開放源代碼項目的免費許可證提供折扣(免責聲明,我是InstallBuilder的作者)

相關問題