Dashboard > WOProject / WOLips > ... > Home > maven-japplication-plugin
  WOProject / WOLips Log In View a printable version of the current page.  
  maven-japplication-plugin
Added by Andrus Adamchik, last edited by Andrus Adamchik on Feb 27, 2007  (view change)
Labels: 
(None)

Description

"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".

"maven-japplication-plugin" is based on a JApplication Ant task and has similar capabilities, however the Maven environment provides more information about the project, so plugin has fewer required parameters.

OS Requirements

OS requirements are similar to those for JApplication Ant task, i.e. Mac launcher can only be built on Mac, and Windows launcher - on Windows.

Goals

org.objectstyle.woproject.maven2:japplication:japplication

"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.

Parameter Description Required Default Platforms
name The name of the application without OS-specific extension No ${project.artifact.artifactId}  
mainClass Main Java class Yes    
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".  
destDir A destination directory where the application launcher should be installed No ${project.build.directory} - usually "target/"  
longName An optional string identifying the application human-readable name. If not specified, "name" is used. No ${project.artifact.artifactId}-${project.artifact.version}  
icon Platform-specific icon file (usually "*.ico" on Windows and "*.icns" on Mac) No   mac,windows
jvm Minimal version of the Java Virtual machine required. No 1.4+ mac
jvmOptions Optional parameters to pass to the JVM, such as memory settings, etc. No   mac,windows
version Product version string No ${project.artifact.version} mac

Examples

A POM that builds a Foo application on Mac. All declared and transitive dependencies (not shown here) will be included in Foo.app automatically:

pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

...
	<build>
		<plugins>
			<plugin>
				<groupId>org.objectstyle.woproject.maven2</groupId>
				<artifactId>maven-japplication-plugin</artifactId>
				<configuration>
					<name>Foo</name>
					<mainClass>org.example.foo.Main</mainClass>
					<os>mac</os>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>japplication</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.4 Build:#809 Jun 12, 2007) - Bug/feature request - Contact Administrators