Changes for page maven-japplication-plugin

Last modified by Andrus Adamchik on 2007/02/27 09:12

From version 32.1
edited by Andrus Adamchik
on 2006/09/30 19:00
Change comment: There is no comment for this version
To version 33.1
edited by Andrus Adamchik
on 2007/02/27 09:12
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,18 +1,33 @@
1 1  == Description ==
2 2  
3 -"maven-japplication-plugin" is a plugin for assembling native launchers of Java applications for a number of target platforms. It is based on a similar [[JApplication Ant task>>JApplication]]. Currently supports native launchers for Mac and Windows operating systems and also a "java launcher" - a single jar file that can be run via "java --jar file.jar".--
3 +"maven-japplication-plugin" is a plugin for assembling native launchers of Java applications for a number of target platforms. It will package current project artifact and all its declared and transitive dependencies into the launcher. Currently supports native launchers for Mac and Windows operating systems and also a "java launcher" - a single jar file that can be run via "java --jar file.jar". --
4 4  
5 -== Prerequisites ==
5 +"maven-japplication-plugin" is based on a [[JApplication Ant task>>JApplication]] and has similar capabilities, however the Maven environment provides more information about the project, so plugin has fewer required parameters.
6 6  
7 -Prerequisites and OS requirements are similar to those for [[JApplication Ant task>>JApplication]]. In particular for Windows you will need to install [[NSIS>>http://nsis.sourceforge.net/Main_Page]].
7 +== OS Requirements ==
8 8  
9 +OS requirements are similar to those for [[JApplication Ant task>>JApplication]], i.e. Mac launcher can only be built on Mac, and Windows launcher - on Windows.
10 +
9 9  == Goals ==
10 10  
11 -The plugin defines a single goal ##"japplication"##.
13 +=== ##org.objectstyle.woproject.maven2:japplication:japplication## ===
12 12  
15 +"japplication" is the only defined goal. Its purpose is to assemble a java launcher. It has the parameters described below. The difference from JApplication Ant task is in smarter defaults.
16 +
17 +|=Parameter|=Description|=Required|=Default|=Platforms
18 +|name|The name of the application without OS-specific extension|No|##$project.artifact.artifactId##|
19 +|mainClass|Main Java class|Yes| |
20 +|os|A family of operating systems. Currently supported values are "mac", "windows" and "java"|No|Build machine OS, if omitted; if the os is not supported, will use "java".|
21 +|destDir|A destination directory where the application launcher should be installed|No|##$project.build.directory## - usually ##"target/"##|
22 +|longName|An optional string identifying the application human-readable name. If not specified, "name" is used.|No|##$project.artifact.artifactId-$project.artifact.version##|
23 +|icon|Platform-specific icon file (usually ".ico" on Windows and ".icns" on Mac)|No| |mac,windows
24 +|jvm|Minimal version of the Java Virtual machine required.|No|##1.4+##|mac
25 +|jvmOptions|Optional parameters to pass to the JVM, such as memory settings, etc.|No| |mac,windows
26 +|version|Product version string|No|##$project.artifact.version##|mac
27 +
13 13  == Examples ==
14 14  
15 -A POM that builds a CayenneModeler application on Mac. All dependencies (not shown here) will be included in CayenneModeler.app automatically.
30 +A POM that builds a Foo application on Mac. All declared and transitive dependencies (not shown here) will be included in Foo.app automatically:
16 16  
17 17  {{code title="pom.xml"}}
18 18  <?xml version="1.0" encoding="UTF-8"?>
... ... @@ -21,7 +21,6 @@
21 21   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
22 22  
23 23  ...
24 -
25 25   <build>
26 26   <plugins>
27 27   <plugin>
... ... @@ -28,8 +28,8 @@
28 28   <groupId>org.objectstyle.woproject.maven2</groupId>
29 29   <artifactId>maven-japplication-plugin</artifactId>
30 30   <configuration>
31 - <name>CayenneModeler</name>
32 - <mainClass>org.apache.cayenne.modeler.MacOSXMain</mainClass>
45 + <name>Foo</name>
46 + <mainClass>org.example.foo.Main</mainClass>
33 33   <os>mac</os>
34 34   </configuration>
35 35   <executions>