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

Erstellt am 5. Juni 2015 von It_berater

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>

Ä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!