Wie können auf einem Mac OS X dmg (Apple disk image) Archive mit Maven und hdiutil erstellt werden?

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
mvn goal
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>

Ähnliche Artikel:

  1. Wie kann ein BE-Model (ecore) mit Eclipse Modeling Framework (EMF) unter Eclipse Luna 4.4.2 und Texo generiert werden?
  2. Welche Java Version gibt es für Mac OS X?
  3. Eclipse 3.7 da!

wallpaper-1019588
Mit Kindern über gleichgeschlechtliche Liebe reden
wallpaper-1019588
[Comic] Seven Sons
wallpaper-1019588
Momentary Lily: Original-Anime angekündigt
wallpaper-1019588
LUCK LIFE: Band feiert Europapremiere auf der Connichi