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
Ninja to Koroshiya no Futarigurashi: Manga erhält eine Anime-Adaption
wallpaper-1019588
[Manga] H.P. Lovecrafts Der leuchtende Trapezoeder
wallpaper-1019588
Gemüsebeet in Mai: Diese 10 Gemüse kannst du jetzt pflanzen
wallpaper-1019588
Faszination Las Vegas – Tipps und Reiseempfehlungen