git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@122831 13f79535-47bb-0310-9956-ffa450edef68
501 lines
15 KiB
XML
501 lines
15 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!--
|
|
/*
|
|
* Copyright 2001-2004 The Apache Software Foundation.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
-->
|
|
|
|
<document>
|
|
|
|
<properties>
|
|
<title>Properties</title>
|
|
<author email="evenisse@ifrance.com">Emmanuel Venisse</author>
|
|
</properties>
|
|
|
|
<body>
|
|
<section name="JNLP settings">
|
|
<table>
|
|
<tr><th>Property</th><th>Optional?</th><th>Description</th><th>Default</th></tr>
|
|
<tr>
|
|
<td>maven.jnlp.dir</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Root of generated .jnlp file and signing jars.
|
|
</td>
|
|
<td>
|
|
${maven.build.dir}/jnlp
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.spec</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The versions of the specification that this JNLP file required.
|
|
</td>
|
|
<td>
|
|
1.0+
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.http.codebase</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The jnlp root element on web server.
|
|
</td>
|
|
<td>
|
|
${pom.url}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.title</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The name of the application.
|
|
</td>
|
|
<td>
|
|
${pom.name}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.vendor</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The name of the vendor of the application.
|
|
</td>
|
|
<td>${pom.organization.name}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.homepage</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
URL locating the home page for the application. It can be used
|
|
by the JNLP Client to point the user to a Web page where they
|
|
can find more information about the application.
|
|
</td>
|
|
<td>
|
|
index.html
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.icon</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
URL locating the icon of the application.
|
|
The icon can be used by a JNLP Client to identify the application to the user.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.icon.splash</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
URL locating the splash screen icon of the application .
|
|
The icon can be used by a JNLP Client to customise a splash screen to the user.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.description</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The default description of the application.
|
|
All descriptions contains plain text. No formatting, such as, e.g.,
|
|
HTML tags are supported.
|
|
</td>
|
|
<td>
|
|
${pom.description}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.description.one-line</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
If a reference to the application is going to appear in one row
|
|
in a list or a table, this description will be used.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.description.short</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The short description of the application.
|
|
If a reference to the application is going to be displayed in a
|
|
situation where there is room for a paragraph, this description is used.
|
|
</td>
|
|
<td>
|
|
${pom.shortDescription}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.description.tooltip</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
A description of the application intended to be used as a tooltip.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.offline.allowed</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The optional offline-allowed element indicates if the application can work
|
|
while the client system is disconnected from the network. The default is
|
|
that an application only works if the client system is online.
|
|
</td>
|
|
<td>
|
|
false
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.permission</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Possible values : all or j2ee.
|
|
The specification specifies two trusted environments, the all-permissions
|
|
environment and an environment that meets the security specifications of
|
|
the J2EE Application Client environment. Both of these environments provide
|
|
unrestricted access to the network and local disk. Thus, an application can
|
|
intentionally or unintentionally harm the local system. An application must
|
|
only be launched if it is trusted.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.j2se.version</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Describes supported version of the JRE.
|
|
</td>
|
|
<td>
|
|
1.4
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.j2se.heapsize.initial</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Indicates the initial size of the Java heap. The modifiers m and k can be used
|
|
for megabytes and kilobytes, respectively. For example, "128m" will be the same
|
|
as specifying "134217728" (128*1024*1024). The modifiers are not case-sensitive.
|
|
</td>
|
|
<td>
|
|
32m
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.j2se.heapsize.max</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Indicates the maximum size of the Java heap. The modifiers m and k can be
|
|
used for megabytes and kilobytes, respectively. For example, "128m" will
|
|
be the same as specifying "134217728" (128*1024*1024). The modifiers are
|
|
not case-sensitive.
|
|
</td>
|
|
<td>
|
|
128m
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.properties</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The arguments passed to the jvm. The arguments are seperated by a
|
|
space. The argument itself is in the format name=value. This
|
|
mechanism doesn't allow for spaces in any of the arguments itself.
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.isapplet</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Defines if JNLP file describes an applet.
|
|
</td>
|
|
<td>
|
|
false
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.applet.name</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The applet name.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.isinstaller</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Defines if JNLP file describes an installer.
|
|
</td>
|
|
<td>
|
|
false
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.iscomponent</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Defines if JNLP file describes a component.
|
|
</td>
|
|
<td>
|
|
false
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.mainclass</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The main class for the application or the applet.
|
|
If this is not specified, then the Main-Class manifest entry for the main
|
|
JAR file is used. If neither is specified, then the launch must be aborted.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.mainclass.arguments</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The argument list for the main class. All arguments are separated by a space.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.usejarversions</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Generate jar references in jnlp file with their associated version numbers.
|
|
Generate a version.xml file to map these version numbers to the actual jar files.
|
|
</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.cert.version</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
A version string to be appended to each dependency version when generating
|
|
version.xml. (This is only useful if maven.jnlp.usejarversions is set to true).
|
|
This comes in handy, when your code signing certificate expires and is renewed.
|
|
Java Web Start requires that ALL jars be signed with the same certificate. When
|
|
renewing a certificate you must change all of the version numbers of all jars, so
|
|
that the JWS client will re-download the jars that haven't changed, but have only
|
|
been re-signed by the new key. With this property, when you get a renewed key,
|
|
all you have to do, is update the maven.jnlp.cert.version string to a new value,
|
|
and the new version.xml will have all new version strings for ALL jars.
|
|
</td>
|
|
<td>false</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.jardiff</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Use the jar diff option for the Sun's JNLP Download Servlet.
|
|
</td>
|
|
<td>false</td>
|
|
</tr>
|
|
</table>
|
|
</section>
|
|
<section name="Keystore settings">
|
|
<table>
|
|
<tr><th>Property</th><th>Optional?</th><th>Description</th><th>Default</th></tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.store</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The keystore location. It's necessary if you want sign your jars.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.storepass</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The password for keystore integrity. Must be at least 6 characters long.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.storetype</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The keystore type.
|
|
</td>
|
|
<td>jks</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.alias</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The alias for the keystore.
|
|
</td>
|
|
<td>
|
|
${pom.artifactId}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.validity</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
Indicates how many days certificate is valid.
|
|
</td>
|
|
<td>
|
|
720
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.dname.cn</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The common name of distinguished name.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.dname.ou</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The organization unit of distinguished name.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.dname.o</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The organization of distinguished name.
|
|
</td>
|
|
<td>
|
|
${pom.organization.name}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.dname.l</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The locality of distinguished name.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.dname.s</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The street of distinguished name.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>maven.jnlp.signjar.dname.c</td>
|
|
<td>Yes</td>
|
|
<td>
|
|
The country of distinguished name.
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</section>
|
|
<section name="Including Jars in JNLP distribution">
|
|
<p>
|
|
You must tell Maven what jars you want included in the jnlp distribution.
|
|
This is achieved by specifying meta-information in the POM, using the
|
|
following syntax for jar files :
|
|
</p>
|
|
|
|
<source><![CDATA[
|
|
<dependency>
|
|
<id>jarid</id>
|
|
<version>jarversion</version>
|
|
<properties>
|
|
<jnlp.jar>true</jnlp.jar>
|
|
</properties>
|
|
</dependency>
|
|
]]></source>
|
|
|
|
<p>
|
|
Or for native jar files :
|
|
</p>
|
|
|
|
<source><![CDATA[
|
|
<dependency>
|
|
<id>jarid</id>
|
|
<version>jarversion</version>
|
|
<properties>
|
|
<jnlp.native.jar>true</jnlp.native.jar>
|
|
</properties>
|
|
</dependency>
|
|
]]></source>
|
|
|
|
<p>
|
|
Or for using JNLP extension mechanism :
|
|
</p>
|
|
|
|
<source><![CDATA[
|
|
<dependency>
|
|
<id>jarid</id>
|
|
<version>jarversion</version>
|
|
<properties>
|
|
<jnlp.extension.site>hostname</jnlp.extension.site>
|
|
<jnlp.extension.dir>directory</jnlp.extension.dir>
|
|
<jnlp.extension.jnlp>jnlp-filename</jnlp.extension.jnlp>
|
|
</properties>
|
|
</dependency>
|
|
]]></source>
|
|
|
|
<p>
|
|
The JNLP extension mechanism is useful e.g. as a workaround when
|
|
JAR files signed by different certificates are used, see
|
|
<a href="http://java.sun.com/products/javawebstart/faq.html#72">Java Webstart FAQ, How do I use JAR files that are signed by different certificates?)</a>.
|
|
</p>
|
|
<p>
|
|
When using JNLP extension feature, <tt>jnlp.extension.site</tt>
|
|
must not contain URL prefix - "http://" is the only protocol
|
|
supported now.
|
|
Property <tt>jnlp.extension.site</tt> is a optional, if omited
|
|
a relative URL is constructed from <tt>jnlp.extension.dir</tt>
|
|
and <tt>jnlp.extension.jnlp</tt>. If JNLP file is stored in
|
|
the same directory as the generated JNLP file and one likes
|
|
to avoid absolute pathnames, one should use "." as value for
|
|
<tt>jnlp.extension.dir</tt>.
|
|
</p>
|
|
|
|
</section>
|
|
<section name="How to define the main jar?">
|
|
<p>
|
|
When you define the main class of your application, you must define the jar
|
|
that contains the main class. This is achieved by specifying meta-information
|
|
in the pom, using the following syntax for jar files :
|
|
</p>
|
|
|
|
<source><![CDATA[
|
|
<dependency>
|
|
<id>jarid</id>
|
|
<version>jarversion</version>
|
|
<properties>
|
|
<jnlp.jar>true</jnlp.jar>
|
|
<jnlp.main.jar>true</jnlp.main.jar>
|
|
</properties>
|
|
</dependency>
|
|
]]></source>
|
|
|
|
<p>
|
|
If no jars contains this tag (jnlp.main.jar), it's the project jar which will be used.
|
|
</p>
|
|
</section>
|
|
</body>
|
|
</document>
|