Will man Java Programme ausliefern, benötigt man auf einem Apple ein dmg Archive. Das kann wie folgt erstellt werden.
In der pom.xml folgendes Plugin einfügen:
<plugin>
<groupId>sh.tak.appbundler</groupId>
<artifactId>appbundle-maven-plugin</artifactId>
<version>1.0.2</version>
<configuration>
<mainClass>de.wenzlaff.xmltransform.StartGui</mainClass>
<iconFile>${basedir}/src/main/resources/tw.icns</iconFile>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>bundle</goal>
</goals>
</execution>
</executions>
</plugin>
Die Main Klasse mit der Klasse ersetzen, die gestartet werden soll. Auch der Pfad zum Icon anpassen. Evl. noch eine eigene plist setzen mit:
<dictionaryFile>YourCustomInfo.plist</dictionaryFile>
Dann das Maven Goal mvn package appbundle:bundle ausführen
und in das target Verzeichnis mit einer Konsole gehen und folgenden Befehl mit hdiutil ausführen:
# hdiutil create -srcfolder path/to/archive path/to/YourApplication.dmg z.B.: hdiutil create -srcfolder twcsvtocsv.app/ TW.dmg
Schon wird das TW.dmg Archive im target Verzeichnis erzeugt.
Als Alternative könnte man auch das osxappbundle-maven-plugin verwenden. Das hat Abhängigkeiten zu Apple’s Java launcher, und ist nicht für Java Version 7 und größer.
Aber wer will, kann dann das als Alternative eintragen:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>osxappbundle-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<configuration>
<mainClass>de.wenzlaff.xmltransform.StartGui</mainClass>
<iconFile>${basedir}/src/main/resources/tw.icns</iconFile>
</configuration>
<executions>
<execution>
<goals>
<goal>bundle</goal>
</goals>
</execution>
</executions>
</plugin>