mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-04 15:24:12 +01:00
586 lines
23 KiB
HTML
586 lines
23 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Launch4j - Cross-platform Java executable wrapper</title>
|
||
|
<meta name="description" content="Cross-platform Java executable wrapper for creating lightweight Windows native EXEs. Provides better user experience.">
|
||
|
<meta name="keywords" content="java executable wrapper, java application wrapper, exe wrapper, jar wrapper, wrap, wraps, wrapping, free software, launch, launcher, linux, mac, windows, open source, ant, solaris, native splash screen, deploy, build tool">
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
|
<meta name="author" content="Grzegorz Kowal" >
|
||
|
<link rel="stylesheet" type="text/css" href="style.css">
|
||
|
</head>
|
||
|
<body>
|
||
|
<div id="container">
|
||
|
<div id="top">
|
||
|
<img style="width: 249px; height: 58px;" src="launch4j.gif" alt="launch4j"> <span class="version">3.0.1</span>
|
||
|
</div>
|
||
|
<div id="leftnav">
|
||
|
<ul>
|
||
|
<li><a href="index.html">Home</a></li>
|
||
|
<li><a href="docs.html">Docs</a></li>
|
||
|
<li><a href="changelog.html">Changelog</a></li>
|
||
|
<li><a href="http://sourceforge.net/project/screenshots.php?group_id=95944">Screenshots</a></li>
|
||
|
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=95944&package_id=192323">Download</a></li>
|
||
|
<li><a href="http://sourceforge.net/forum/?group_id=95944">Support</a></li>
|
||
|
<li><a href="http://sourceforge.net/projects/launch4j">Project summary</a></li>
|
||
|
<li><a href="http://sourceforge.net/tracker/?atid=613100&group_id=95944">Bug tracker</a></li>
|
||
|
<li><a href="links.html">Links</a></li>
|
||
|
</ul>
|
||
|
<!--
|
||
|
*** Spanish docs are outdated ***
|
||
|
<ul style="margin-top: 20px; font-size: 75%">
|
||
|
<li><a href="index.html">English</a></li>
|
||
|
<li><a href="index_es.html">Español</a></li>
|
||
|
</ul>
|
||
|
-->
|
||
|
</div>
|
||
|
<div id="content">
|
||
|
<a href="#Running_launch4j">Running launch4j</a><br>
|
||
|
<a href="#Configuration_file">Configuration file</a><br>
|
||
|
<a href="#Importing_1.x_configuration">Importing 1.x configuration</a><br>
|
||
|
<a href="#Ant_task">Ant Task</a><br>
|
||
|
<a href="#Additional_jvm_options">Additional JVM options at runtime</a><br>
|
||
|
<a href="#Runtime_options">Runtime options</a><br>
|
||
|
<a href="#Settings">Settings</a><br>
|
||
|
|
||
|
<h2 id="Running_launch4j">Running launch4j</h2>
|
||
|
Run <em>launch4j.exe</em> or <em>launch4j</em> script without command
|
||
|
line arguments to enter the GUI mode.
|
||
|
|
||
|
<pre>launch4j.exe</pre>
|
||
|
|
||
|
To wrap a jar in console mode use <em>launch4jc.exe</em> <em></em>and
|
||
|
specify the configuration file.
|
||
|
|
||
|
<pre>launch4jc.exe config.xml</pre>
|
||
|
|
||
|
On Linux use the <em>launch4j</em> script.
|
||
|
|
||
|
<pre>launch4j ./demo/l4j/config.xml</pre>
|
||
|
|
||
|
<h2 id="Configuration_file">Configuration file</h2>
|
||
|
Launch4j requires an xml configuration file for each output executable.
|
||
|
You can create and edit it conveniently using the graphic user
|
||
|
interface or your favorite editor. Alternatively it's possible to pass
|
||
|
all of the configuration parameters through the Ant task. All files
|
||
|
may be absolute paths or relative to the configuration file path.
|
||
|
|
||
|
<pre>
|
||
|
<!-- <strong>Bold</strong> elements are required -->
|
||
|
<strong><launch4jConfig></strong>
|
||
|
<strong><headerType></strong><span class="codeword">gui|console</span><strong></headerType></strong>
|
||
|
<strong><outfile></strong><span class="codeword">file.exe</span><strong><span class="codeword"></span></outfile></strong>
|
||
|
<jar><span class="codeword">file</span><span class="codeword"></span></jar>
|
||
|
<dontWrapJar><span class="codeword">true|<u>false</u></span></dontWrapJar>
|
||
|
<errTitle><span class="codeword">text</span></errTitle>
|
||
|
<downloadUrl><span class="codeword"><u>http://java.com/download</u></span></downloadUrl>
|
||
|
<supportUrl><span class="codeword">url</span></supportUrl>
|
||
|
<cmdLine><span class="codeword">text</span></cmdLine>
|
||
|
<chdir><span class="codeword">path</span></chdir>
|
||
|
<priority><span class="codeword"><u>normal</u>|idle|high</span></priority>
|
||
|
<customProcName><span class="codeword">true|<u>false</u></span></customProcName>
|
||
|
<stayAlive><span class="codeword">true|false</span></stayAlive>
|
||
|
<icon><span class="codeword">file</span></icon>
|
||
|
<obj><span class="codeword">header object file</span></obj>
|
||
|
...
|
||
|
<lib><span class="codeword">w32api lib</span></lib>
|
||
|
...
|
||
|
<var><span class="codeword">var=text</span></var>
|
||
|
...
|
||
|
<classPath>
|
||
|
<strong><mainClass></strong><span class="codeword">main class</span><strong></mainClass></strong>
|
||
|
<strong><cp></strong><span class="codeword">classpath</span><strong></cp></strong>
|
||
|
...
|
||
|
</classPath>
|
||
|
<singleInstance>
|
||
|
<strong><mutexName></strong><span class="codeword">text</span><strong></mutexName></strong>
|
||
|
<windowTitle><span class="codeword">text</span></windowTitle>
|
||
|
</singleInstance>
|
||
|
<strong><jre></strong>
|
||
|
<!-- Specify one of the following or both -->
|
||
|
<strong><path></strong><span class="codeword">bundled JRE path</span><strong></path></strong>
|
||
|
<strong><minVersion></strong><span class="codeword">x.x.x[_xx]</span><strong></minVersion></strong>
|
||
|
<maxVersion><span class="codeword">x.x.x[_xx]</span></maxVersion>
|
||
|
<jdkPreference><span class="codeword">jreOnly|<u>preferJre</u>|preferJdk|jdkOnly</span></jdkPreference>
|
||
|
<!-- Heap sizes in MB and % of free memory -->
|
||
|
<initialHeapSize><span class="codeword">MB</span></initialHeapSize>
|
||
|
<initialHeapPercent><span class="codeword">%</span></initialHeapPercent>
|
||
|
<maxHeapSize><span class="codeword">MB</span></maxHeapSize>
|
||
|
<maxHeapPercent><span class="codeword">%</span></maxHeapPercent>
|
||
|
<opt><span class="codeword">text</span></opt>
|
||
|
...
|
||
|
<strong></jre></strong>
|
||
|
<splash>
|
||
|
<strong><file></strong><span class="codeword">file</span><strong></file></strong>
|
||
|
<waitForWindow><span class="codeword"><u>true</u>|false</span></waitForWindow>
|
||
|
<timeout><span class="codeword">seconds [60]</span></timeout>
|
||
|
<timeoutErr><span class="codeword"><u>true</u>|false</span></timeoutErr>
|
||
|
</splash>
|
||
|
<versionInfo>
|
||
|
<strong><fileVersion></strong><span class="codeword">x.x.x.x</span><strong></fileVersion></strong>
|
||
|
<strong><txtFileVersion></strong><span class="codeword">text</span><strong></txtFileVersion></strong>
|
||
|
<strong><fileDescription></strong><span class="codeword">text</span><strong></fileDescription></strong>
|
||
|
<strong><copyright></strong><span class="codeword">text</span><strong></copyright></strong>
|
||
|
<strong><productVersion></strong><span class="codeword">x.x.x.x</span><strong></productVersion></strong>
|
||
|
<strong><txtProductVersion></strong><span class="codeword">text</span><strong></txtProductVersion></strong>
|
||
|
<strong><productName></strong><span class="codeword">text</span><strong></productName></strong>
|
||
|
<companyName><span class="codeword">text</span></companyName>
|
||
|
<strong><internalName></strong><span class="codeword">filename</span><strong></internalName></strong>
|
||
|
<strong><originalFilename></strong><span class="codeword">filename.exe</span><strong></originalFilename></strong>
|
||
|
</versionInfo>
|
||
|
<messages>
|
||
|
<strong><startupErr></strong>text<strong></startupErr></strong>
|
||
|
<strong><bundledJreErr></strong>text<strong></bundledJreErr></strong>
|
||
|
<strong><jreVersionErr></strong>text<strong></jreVersionErr></strong>
|
||
|
<strong><launcherErr></strong>text<strong></launcherErr></strong>
|
||
|
</messages>
|
||
|
<strong></launch4jConfig></strong>
|
||
|
</pre>
|
||
|
|
||
|
<dl>
|
||
|
<dt><headerType></dt>
|
||
|
<dd>
|
||
|
Type of the header used to wrap the application.
|
||
|
<table>
|
||
|
<thead>
|
||
|
<tr>
|
||
|
<th>Header type</th>
|
||
|
<th>Launcher</th>
|
||
|
<th>Splash screen</th>
|
||
|
<th style="white-space: nowrap">Wait for the application to close</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td>gui</td>
|
||
|
<td>javaw</td>
|
||
|
<td>yes</td>
|
||
|
<td class="description">wrapper waits only if <em>stayAlive</em> is set to true,
|
||
|
otherwise it terminates immediately or after closing
|
||
|
the splash screen.
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td>console</td>
|
||
|
<td>java</td>
|
||
|
<td>no</td>
|
||
|
<td class="description">always waits and returns application's exit code.</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><outfile></dt>
|
||
|
<dd>Output executable file.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><jar></dt>
|
||
|
<dd>
|
||
|
Optional, by default specifies the jar to wrap. To launch a jar without
|
||
|
wrapping it enter the runtime path of the jar relative to
|
||
|
the executable and set <em><dontWrapJar></em> to true.
|
||
|
For example, if the executable launcher and the application jar named
|
||
|
<i>calc.exe</i> and <i>calc.jar</i> are in the same directory
|
||
|
then you would use <i><jar>calc.jar</jar></i>
|
||
|
and <em><dontWrapJar>true</dontWrapJar></em>.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><dontWrapJar></dt>
|
||
|
<dd>
|
||
|
Optional, defaults to false. Launch4j by default wraps jars in native
|
||
|
executables, you can prevent this by setting <em><dontWrapJar></em> to true.
|
||
|
The exe acts then as a launcher and starts the application specified in
|
||
|
<em><jar></em> or <em><classPath><mainClass></em>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><errTitle></dt>
|
||
|
<dd>
|
||
|
Optional, sets the title of the error message box that's displayed if Java cannot
|
||
|
be found for instance. This usually should contain the name of your
|
||
|
application. The console header prefixes error messages with this
|
||
|
property (myapp: error...)
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><cmdLine></dt>
|
||
|
<dd>Optional, constant command line arguments.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><chdir></dt>
|
||
|
<dd>Optional. Change current directory to an arbitrary path relative to the executable.
|
||
|
If you omit this property or leave it blank it will have no effect.
|
||
|
Setting it to <em>.</em> will change the current dir to the same directory
|
||
|
as the executable. <em>..</em> will change it to the parent directory, and so on.
|
||
|
</dd>
|
||
|
<dd>
|
||
|
<pre><chdir>.</chdir></pre>
|
||
|
</dd>
|
||
|
<dd>
|
||
|
<pre><chdir>../somedir</chdir></pre>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><customProcName></dt>
|
||
|
<dd>Optional, defaults to false.
|
||
|
Set the process name as the executable filename and use Xp style manifests
|
||
|
(if any).
|
||
|
Creates a temporary file in launch4j-tmp directory inside the used JRE.
|
||
|
These files are deleted by any launch4j wrapped application, which sets
|
||
|
the process name and uses the same JRE. The removal takes place
|
||
|
when the application <strong>starts</strong>,
|
||
|
so at least one copy of this file will always be present.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><stayAlive></dt>
|
||
|
<dd>Optional, defaults to false in GUI header, always true in console header.
|
||
|
When enabled the launcher waits for the Java application
|
||
|
to finish and returns it's exit code.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><icon></dt>
|
||
|
<dd>Application icon in ICO format. May contain multiple color depths/resolutions.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><obj></dt>
|
||
|
<dd>Optional, custom headers only. Ordered list of header object files.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><lib></dt>
|
||
|
<dd>Optional, custom headers only. Ordered list of libraries used by header.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><singleInstance></dt>
|
||
|
<dd>Optional, allow to run only a single instance of the application.</dd>
|
||
|
</dl>
|
||
|
<blockquote>
|
||
|
<dl>
|
||
|
<dt><mutexName></dt>
|
||
|
<dd>Unique mutex name that will identify the application.</dd>
|
||
|
<dt><windowTitle></dt>
|
||
|
<dd>Optional, recognized by GUI header only. Title or title part of a window
|
||
|
to bring up instead of running a new instance.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</blockquote>
|
||
|
<dl>
|
||
|
<dt><jre></dt>
|
||
|
<dd>Required element that groups JRE settings.</dd>
|
||
|
</dl>
|
||
|
<blockquote>
|
||
|
<dl>
|
||
|
<dt><path>, <minVersion>, <maxVersion></dt>
|
||
|
<dd>The <em><path></em> property is used
|
||
|
to specify the absolute or relative path (to the executable) of a bundled JRE, it
|
||
|
does not rely on the current directory or <em><chdir></em>.
|
||
|
Note that this path is not checked until the actual application execution.
|
||
|
If you'd like the wrapper to search for a JRE (public or SDK private)
|
||
|
use the <em><minVersion></em> property, you may also specify
|
||
|
the <em><maxVersion></em> to prevent it from using higher Java versions.
|
||
|
Launch4j will always use the highest version available (in the min/max range of course).
|
||
|
If a Sun's JRE is not available or does not satisfy the search criteria,
|
||
|
the search will be repeated on IBM runtimes.
|
||
|
You can also combine these properties to change the startup process...
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<blockquote>
|
||
|
<dl>
|
||
|
<dt><path></dt>
|
||
|
<dd>Run if bundled JRE and javaw.exe are present, otherwise stop with error.</dd>
|
||
|
<dt><path> + <minVersion> [+ <maxVersion>]</dt>
|
||
|
<dd>Use bundled JRE first, if it cannot be located search for Java,
|
||
|
if that fails display error message and open the Java download page.
|
||
|
</dd>
|
||
|
<dt><minVersion> [+ <maxVersion>]</dt>
|
||
|
<dd>Search for Java, if an appropriate version cannot be found display
|
||
|
error message and open the Java download page.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</blockquote>
|
||
|
</blockquote>
|
||
|
<blockquote>
|
||
|
<dl>
|
||
|
<dt><jdkPreference></dt>
|
||
|
<dd>Optional, defaults to preferJre; Allows you to specify a preference
|
||
|
for a public JRE or a private JDK runtime. Valid values are:
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<blockquote>
|
||
|
<dl>
|
||
|
<dt>jreOnly</dt>
|
||
|
<dd>Always use a public JRE (equivalent to the
|
||
|
old option dontUsePrivateJres=true)</dd>
|
||
|
<dt>preferJre</dt>
|
||
|
<dd>Prefer a public JRE, but use a JDK private
|
||
|
runtime if it is newer than the public
|
||
|
JRE (equivalent to the old option
|
||
|
dontUsePrivateJres=false)</dd>
|
||
|
<dt>preferJdk</dt>
|
||
|
<dd>Prefer a JDK private runtime, but use a
|
||
|
public JRE if it is newer than the
|
||
|
JDK</dd>
|
||
|
<dt>jdkOnly</dt>
|
||
|
<dd>Always use a private JDK runtime (fails
|
||
|
if there is no JDK installed)</dd>
|
||
|
</dl>
|
||
|
</blockquote>
|
||
|
<dl>
|
||
|
<dt>HeapSize, HeapPercent</dt>
|
||
|
<dd>If size and percent are specified, then the setting which yields
|
||
|
more memory will be chosen at runtime. In other words, setting both values
|
||
|
means: percent of free memory no less than size in MB.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<blockquote>
|
||
|
<dl>
|
||
|
<dt><initialHeapSize></dt>
|
||
|
<dd>Optional, initial heap size in MB.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><initialHeapPercent></dt>
|
||
|
<dd>Optional, initial heap size in % of free memory.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><maxHeapSize></dt>
|
||
|
<dd>Optional, max heap size in MB.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><maxHeapPercent></dt>
|
||
|
<dd>Optional, max heap size in % of free memory.</dd>
|
||
|
</dl>
|
||
|
</blockquote>
|
||
|
<dl>
|
||
|
<dt><opt></dt>
|
||
|
<dd>Optional, accepts everything you would normally pass to
|
||
|
java/javaw launcher: assertion options, system properties and X options.
|
||
|
Here you can map environment and special variables <em>EXEDIR</em>
|
||
|
(exe's runtime directory), <em>EXEFILE</em> (exe's runtime full file path)
|
||
|
to system properties. All variable references must be surrounded with
|
||
|
percentage signs and quoted.
|
||
|
<pre>
|
||
|
<opt>-Dlaunch4j.exedir="%EXEDIR%"</opt>
|
||
|
<opt>-Dlaunch4j.exefile="%EXEFILE%"</opt>
|
||
|
<opt>-Denv.path="%Path%"</opt>
|
||
|
<opt>-Dsettings="%HomeDrive%%HomePath%\\settings.ini"</opt>
|
||
|
</pre>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</blockquote>
|
||
|
|
||
|
<dl>
|
||
|
<dt><splash></dt>
|
||
|
<dd>Optional, groups the splash screen settings. Allowed only in GUI header.</dd>
|
||
|
</dl>
|
||
|
<blockquote>
|
||
|
<dl>
|
||
|
<dt><file></dt>
|
||
|
<dd>Splash screen image in BMP format.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><waitForWindow></dt>
|
||
|
<dd>Optional, defaults to true. Close the splash screen when an application
|
||
|
window or Java error message box appears. If set to false,
|
||
|
the splash screen will be closed on timeout.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><timeout></dt>
|
||
|
<dd>Optional, defaults to 60. Number of seconds after which the splash screen
|
||
|
must be closed. Splash timeout may cause an error depending on
|
||
|
<em><timeoutErr></em>.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><timeoutErr></dt>
|
||
|
<dd>Optional, defaults to true. True signals an error on splash timeout,
|
||
|
false closes the splash screen quietly.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</blockquote>
|
||
|
|
||
|
<dl>
|
||
|
<dt><versionInfo></dt>
|
||
|
<dd>Optional, version information to be displayed by the Windows Explorer.</dd>
|
||
|
</dl>
|
||
|
<blockquote>
|
||
|
<dl>
|
||
|
<dt><fileVersion></dt>
|
||
|
<dd>Version number 'x.x.x.x'</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><txtFileVersion></dt>
|
||
|
<dd>Free form file version, for example '1.20.RC1'.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><fileDescription></dt>
|
||
|
<dd>File description presented to the user.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><copyright></dt>
|
||
|
<dd>Legal copyright.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><productVersion></dt>
|
||
|
<dd>Version number 'x.x.x.x'</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><txtProductVersion></dt>
|
||
|
<dd>Free form file version, for example '1.20.RC1'.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><productName></dt>
|
||
|
<dd>Text.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><companyName></dt>
|
||
|
<dd>Optional text.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><internalName></dt>
|
||
|
<dd>Internal name without extension, original filename or module name for example.</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><originalFilename></dt>
|
||
|
<dd>Original name of the file without the path. Allows to determine
|
||
|
whether a file has been renamed by a user.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</blockquote>
|
||
|
|
||
|
<h2 id="Importing_1.x_configuration">Importing 1.x configuration</h2>
|
||
|
It's possible to import a 1.x configuration file using the GUI
|
||
|
interface. Open the file, correct the paths and save it as a new xml
|
||
|
configuration.
|
||
|
|
||
|
<h2 id="Ant_task">Ant task</h2>
|
||
|
You may set a launch4j directory property or change the task definition.
|
||
|
|
||
|
<pre><property name="launch4j.dir" location="/opt/launch4j" /></pre>
|
||
|
|
||
|
Define the task in your Ant build script.
|
||
|
|
||
|
<pre>
|
||
|
<taskdef name="launch4j"
|
||
|
classname="net.sf.launch4j.ant.Launch4jTask"
|
||
|
classpath="${launch4j.dir}/launch4j.jar
|
||
|
:${launch4j.dir}/lib/xstream.jar" />
|
||
|
</pre>
|
||
|
|
||
|
Execute the task!
|
||
|
|
||
|
<pre><launch4j configFile="./l4j/demo.xml" /></pre>
|
||
|
|
||
|
You can set or override the following configuration properties...
|
||
|
<p class="attrib">
|
||
|
jar="absolute path or relative to <em>basedir</em>"<br>
|
||
|
jarPath="relative path"<br>
|
||
|
outfile<br>
|
||
|
fileVersion<br>
|
||
|
txtFileVersion<br>
|
||
|
productVersion<br>
|
||
|
txtProductVersion<br>
|
||
|
bindir="<a href="#Settings">alternate bin directory...</a>"<br>
|
||
|
tmpdir="<a href="#Settings">alternate working directory...</a>"
|
||
|
</p>
|
||
|
|
||
|
<pre>
|
||
|
<launch4j configFile="./l4j/demo.xml" outfile="mydemo.exe"
|
||
|
fileVersion="1.0.0.0" txtFileVersion="1.0 RC2" />
|
||
|
</pre>
|
||
|
|
||
|
You can also define the entire configuration in the task, but it will
|
||
|
not be possible to edit such a file in the GUI mode. All paths except
|
||
|
for <em><chdir></em>, <em><jre><path></em> and <em>jarPath</em>
|
||
|
are calculated using the <em>basedir</em> project attribute.
|
||
|
|
||
|
<pre>
|
||
|
<launch4j>
|
||
|
<config headerType="gui" outfile="demo.exe"
|
||
|
dontWrapJar="true" jarPath="demo.jar" >
|
||
|
<var>SETTINGS="%HomeDrive%%HomePath%\\settings.ini"</var>
|
||
|
<classPath mainClass="org.demo.DemoApp">
|
||
|
<cp>./lib/looks.jar</cp>
|
||
|
<cp>%USER_LIBS%/*.jar</cp>
|
||
|
</classPath>
|
||
|
<jre minVersion="1.4.0">
|
||
|
<opt>-Dlaunch4j.exedir="%EXEDIR%"</opt>
|
||
|
<opt>-Dlaunch4j.exefile="%EXEFILE%"</opt>
|
||
|
</jre>
|
||
|
</config>
|
||
|
</launch4j>
|
||
|
</pre>
|
||
|
|
||
|
<h2 id="Additional_jvm_options">Additional JVM options at runtime</h2>
|
||
|
When you create a wrapper or launcher all configuration details are compiled into the
|
||
|
executable and cannot be changed without recreating it or hacking with a resource editor.
|
||
|
Launch4j 2.1.2 introduces a new feature that allows to pass additional JVM options
|
||
|
at runtime from an .l4j.ini file. Now you can specify the options in the configuration file,
|
||
|
ini file or in both, but you cannot override them. The ini file's name must correspond
|
||
|
to the executable's <em>(myapp.exe : myapp.l4j.ini)</em>.
|
||
|
The arguments should be separated with spaces or new lines, environment variable
|
||
|
expansion is supported, for example:
|
||
|
<pre>
|
||
|
# Launch4j runtime config
|
||
|
-Dswing.aatext=true
|
||
|
-Dsomevar="%SOMEVAR%"
|
||
|
-Xms16m
|
||
|
</pre>
|
||
|
|
||
|
<h2 id="Runtime_options">Runtime options</h2>
|
||
|
<dl>
|
||
|
<dt class="option">--l4j-debug</dt>
|
||
|
<dd>
|
||
|
To make sure the output executable is configured correctly you can use the
|
||
|
debug launching mode to log various information to the launch4j.log file.
|
||
|
</dd>
|
||
|
|
||
|
<dt class="option">--l4j-default-proc</dt>
|
||
|
<dd>
|
||
|
Use default process name.
|
||
|
</dd>
|
||
|
|
||
|
<dt class="option">--l4j-dont-wait</dt>
|
||
|
<dd>
|
||
|
Disable the "stay alive" function.
|
||
|
</dd>
|
||
|
|
||
|
<dt class="option">--l4j-no-splash</dt>
|
||
|
<dd>
|
||
|
Disable the splash screen.
|
||
|
</dd>
|
||
|
|
||
|
<dt class="option">--l4j-no-splash-err</dt>
|
||
|
<dd>
|
||
|
Disable splash screen error on timeout, might be useful on very slow computers.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
|
||
|
<h2 id="Settings">Settings</h2>
|
||
|
<dl>
|
||
|
<dt>Alternate bin directory: launch4j.bindir</dt>
|
||
|
<dd>
|
||
|
It's possible to override the default bin directory location which contains windres and ld
|
||
|
tools using the <em>launch4j.bindir</em> system property. The property can have two forms:
|
||
|
a path relative to Launch4j's directory (<em>altbin</em> for example) or an absolute path.
|
||
|
<dd>
|
||
|
|
||
|
<dt>Working directory: launch4j.tmpdir</dt>
|
||
|
<dd>Change the working directory if the default path contains spaces which windres cannot handle.</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<div class="footer">
|
||
|
All trademarks mentioned are properties of their respective owners.<br />
|
||
|
Copyright © 2005-2008 Grzegorz Kowal
|
||
|
<p style="margin-top: 2em">
|
||
|
<a href="http://sourceforge.net"><img style="width: 125px; height: 37px; border: none" src="http://sourceforge.net/sflogo.php?group_id=95944&type=4" alt="sf.net"></a>
|
||
|
<a href="http://www.nosoftwarepatents.com"><img style="width: 90px; height: 40px; border: none; margin-left: 5%" src="http://www.nosoftwarepatents.com/banners/90x40_3.jpg" alt=""></a>
|
||
|
<a href="http://validator.w3.org/check?uri=referer"><img style="width: 88px; height: 31px; border: none; margin-left: 5%" src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
|
||
|
</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|