第一次提交
This commit is contained in:
commit
8121362a03
4412 files changed
+1091845
No files matched your search
@@ -0,0 +1,147 @@
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You 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.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="../stylesheets/style.css">
|
||||
<title>JLink Task</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h2 id="jlink">Jlink</h2>
|
||||
<h3><em><u>Deprecated</u></em></h3>
|
||||
<p><em>This task has been <u>deprecated</u>. Use a <a href="../Types/zipfileset.html">zipfileset</a>
|
||||
or <a href="../Tasks/zip.html#zipgroupfileset">zipgroupfileset</a> with
|
||||
the <a href="../Tasks/jar.html">Jar task</a> or <a href="../Tasks/zip.html">Zip task</a>
|
||||
instead.</em></p>
|
||||
|
||||
<h3>Description</h3>
|
||||
<p>Links entries from sub-builds and libraries.</p>
|
||||
|
||||
<p>The <code>jlink</code> task can be used to build jar and zip files, similar to
|
||||
the <code>jar</code> task. However, <code>jlink</code> provides options for controlling the way
|
||||
entries from input files are added to the output file. Specifically, capabilities for merging
|
||||
entries from multiple zip or jar files is available.</p>
|
||||
|
||||
<p>If a mergefile is specified directly (eg. at the top level of a <code>mergefiles</code>
|
||||
pathelement) <em>and</em> the mergefile ends in <samp>.zip</samp> or <samp>.jar</samp>, entries in
|
||||
the mergefile will be merged into the <var>outfile</var>. A file with any other extension will be
|
||||
added to the output file, even if it is specified in the <code>mergefiles</code> element.
|
||||
Directories specified in either the <code>mergefiles</code> or <code>addfiles</code> element are
|
||||
added to the output file as you would expect: all files in subdirectories are recursively added to
|
||||
the output file with appropriate prefixes in the output file (without merging).</p>
|
||||
|
||||
<p>In the case where duplicate entries and/or files are found among the files to be merged or
|
||||
added, <code>jlink</code> merges or adds the first entry and ignores all subsequent entries.</p>
|
||||
|
||||
<p><code>jlink</code> ignores <samp>META-INF</samp> directories in <var>mergefiles</var>. Users
|
||||
should supply their own manifest information for the output file.</p>
|
||||
|
||||
<p>It is possible to refine the set of files that are being jlinked. This can be done with
|
||||
the <var>includes</var>, <var>includesfile</var>, <var>excludes</var>, <var>excludesfile</var>,
|
||||
and <var>defaultexcludes</var> attributes on the <code>addfiles</code> and <code>mergefiles</code>
|
||||
nested elements. With the <var>includes</var> or <var>includesfile</var> attribute you specify the
|
||||
files you want to have included by using patterns. The <var>exclude</var>
|
||||
or <var>excludesfile</var> attribute is used to specify the files you want to have excluded. This is
|
||||
also done with patterns. And finally with the <var>defaultexcludes</var> attribute, you can specify
|
||||
whether you want to use default exclusions or not. See the section
|
||||
on <a href="../dirtasks.html#directorybasedtasks">directory based tasks</a>, on how the
|
||||
inclusion/exclusion of files works, and how to write patterns. The patterns are relative to
|
||||
the <em>base</em> directory.</p>
|
||||
|
||||
<h3>Parameters</h3>
|
||||
<table class="attr">
|
||||
<tr>
|
||||
<th scope="col">Attribute</th>
|
||||
<th scope="col">Description</th>
|
||||
<th scope="col">Required</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>outfile</td>
|
||||
<td>the path of the output file.</td>
|
||||
<td>Yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>compress</td>
|
||||
<td>whether or not the output should be compressed. <q>true</q>, <q>yes</q>, or <q>on</q>
|
||||
result in compressed output.</td>
|
||||
<td>No; defaults to uncompressed (inflated) output</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mergefiles</td>
|
||||
<td>files to be merged into the output, if possible.</td>
|
||||
<td rowspan="2">Exactly one of the two</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>addfiles</td>
|
||||
<td class="left">files to be added to the output.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>Examples</h3>
|
||||
|
||||
<p>The following will merge the entries in <samp>mergefoo.jar</samp> and <samp>mergebar.jar</samp>
|
||||
into <samp>out.jar</samp>. <samp>mac.jar</samp> and <samp>pc.jar</samp> will be added as single
|
||||
entries to <samp>out.jar</samp>.</p>
|
||||
<pre>
|
||||
<jlink compress="false" outfile="out.jar">
|
||||
<mergefiles>
|
||||
<pathelement path="${build.dir}/mergefoo.jar"/>
|
||||
<pathelement path="${build.dir}/mergebar.jar"/>
|
||||
</mergefiles>
|
||||
<addfiles>
|
||||
<pathelement path="${build.dir}/mac.jar"/>
|
||||
<pathelement path="${build.dir}/pc.zip"/>
|
||||
</addfiles>
|
||||
</jlink>
|
||||
</pre>
|
||||
|
||||
<p><strong>Non-deprecated alternative to the above:</strong></p>
|
||||
<pre>
|
||||
<jar compress="false" destfile="out.jar">
|
||||
<zipgroupfileset dir="${build.dir}">
|
||||
<include name="mergefoo.jar"/>
|
||||
<include name="mergebar.jar"/>
|
||||
</zipgroupfileset>
|
||||
<fileset dir="${build.dir}">
|
||||
<include name="mac.jar"/>
|
||||
<include name="pc.jar"/>
|
||||
</fileset>
|
||||
</jar>
|
||||
</pre>
|
||||
|
||||
<p>Suppose the file <samp>foo.jar</samp> contains two entries: <samp>bar.class</samp>
|
||||
and <samp>barnone/myClass.zip</samp>. Suppose the path for file <samp>foo.jar</samp>
|
||||
is <samp>build/tempbuild/foo.jar</samp>. The following example will provide the
|
||||
entry <samp>tempbuild/foo.jar</samp> in the <samp>out.jar</samp>.</p>
|
||||
<pre>
|
||||
<jlink compress="false" outfile="out.jar">
|
||||
<mergefiles>
|
||||
<pathelement path="build/tempbuild"/>
|
||||
</mergefiles>
|
||||
</jlink></pre>
|
||||
|
||||
<p>However, the next example would result in two top-level entries in <samp>out.jar</samp>,
|
||||
namely <samp>bar.class</samp> and <samp>barnone/myClass.zip</samp></p>
|
||||
<pre>
|
||||
<jlink compress="false" outfile="out.jar">
|
||||
<mergefiles>
|
||||
<pathelement path="build/tempbuild/foo.jar"/>
|
||||
</mergefiles>
|
||||
</jlink></pre>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user