2009-09-04 17 views
23

Ich migriere eine mittelgroße Java-Anwendung Build von Ant zu Maven. Ich könnte die Grundbausteine ​​einfach migrieren, aber ich möchte auch die Installer-Pakete aus dem Maven-Build erstellen. Der einfachste Weg wäre, die ursprünglichen Ant-Skripte über das Ant-Plugin aufzurufen, aber ich dachte, vielleicht sollte ich mich erst einmal nach Maven-Unterstützung umsehen.Erstellen von Installationsprogrammen mit Maven

Ich würde benötigen mehrere verschiedene Installateure für verschiedene Plattformen zu erstellen:

  • Windows-32/64 bit
  • Linux 32/64 Bit
  • MacOS 32/64 bit

Für Linux jetzt denke ich, dass wir nur ein tar.gz und einige Bash-Skripte haben, um die Daemons zu starten - ein Debian/RPM-Paket wäre viel schöner, vielleicht auch mit abhängigen Paketdefinitionen. Für die Windows Installer verwenden wir den NullSoft Installer. Ich habe keine Ahnung, wie das MacOS-Paket jetzt zusammengebaut wird.

Gibt es irgendwelche Tools, um Maven (oder zumindest einen Teil davon) zu machen?

+0

Aus Interesse, wie sind Sie gegangen und wie haben Sie die Migration gefunden? –

Antwort

18

ich die IzPack maven plugin verwenden würden, wenn Sie eine ausgewachsene Installateur müssen oder die appassembler-maven-plugin wenn Sie einfach Daemons für Java-Dienste müssen generieren.

Es gibt auch Plugins für NSIS, Debian und RPM Verpackung, aber die bedeutet, dass Sie Konfigurationen für jede Plattform pflegen müssen, auf der anderen Seite IzPack ermöglicht es Ihnen, ein Installationsprogramm für Windows XP/Vista/2003/2000 zu erzeugen , Mac OS X, Solaris, Linux und * BSD.


Das Appassembler-Plugin bietet das Ziel, JSW-Daemons für jede Plattform zu generieren. Hier ist ein Beispiel-Konfiguration:

<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

Ich verwende auch Izpack für meine Windows-Distributionen, aber der Linux-Installer ist nicht sehr Linux wie und das OSX-Installationsprogramm ist eine sehr schlechte Idee, würde ich ein separates Installationsprogramm verwenden für OSX. –

2

Sie IzPack und die IzPack Maven Plugin für diesen Zweck verwenden können. Es funktioniert ganz gut für mich: http://izpack.codehaus.org/izpack-maven-plugin/

+0

Problem ist, dass die resultierende izpack erstellt Installer ist nicht sehr Linux wie –

0

Ich suche in Install - Ich habe kein Maven Plugin für sie sehen, aber im Vergleich zu IzPack, es sieht viel professioneller.

0

BitRock InstallBuilder kann mit Maven (und anderen CI-Build-Tools) verwendet werden, um Windows EXE-Installer, Linux-Binärdateien/RPM/DEB und OS X-Installer zu generieren.Es ist kommerziell, aber wir haben Rabatte für kleine Unternehmen/Solo-Entwickler und freie Lizenzen für Open-Source-Projekte (Disclaimer, ich bin der Autor von InstallBuilder)

Verwandte Themen