Jar: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 13: Line 13:
Use <tt>-C</tt> ''after'' the JAR name and use <tt>.</tt> instead of <tt>*</tt> if you want to include ''all'' from <tt><directory-we-want-to-JAR-from></tt>:
Use <tt>-C</tt> ''after'' the JAR name and use <tt>.</tt> instead of <tt>*</tt> if you want to include ''all'' from <tt><directory-we-want-to-JAR-from></tt>:


jar -C <directory-we-want-to-JAR-from> cfv <JAR-file-name> .
<syntaxhighlight lang='bash'>
jar -C <directory-we-want-to-JAR-from> cfv <JAR-file-name> .
</syntaxhighlight>


Example:
Example:
<syntaxhighlight lang='bash'>
jar cfv ./target/A.ear -C ./target/ear-A-content .
</syntaxhighlight>


jar cfv ./target/A.ear -C ./target/ear-A-content .
=Update an existing JAR File=
<syntaxhighlight lang='bash'>
jar ufv ...
</syntaxhighlight>


=Extract a Specific File from a JAR=
=Extract a Specific File from a JAR=

Revision as of 08:26, 11 November 2020

External

Internal

Overview

Create a JAR from Files Located in a Directory Different from the Current One

Use -C after the JAR name and use . instead of * if you want to include all from <directory-we-want-to-JAR-from>:

jar -C <directory-we-want-to-JAR-from> cfv <JAR-file-name> .

Example:

jar cfv ./target/A.ear -C ./target/ear-A-content .

Update an existing JAR File

jar ufv ...

Extract a Specific File from a JAR

jar xf .../source.jar META-INF/MANIFEST.MF

Do Not Create a Manifest File

jar cfM ...

Create a JAR with a Specific Manifest Content

jar cfm .../<jar-file-name>.jar .../<maifest-file> *

Executable JAR

Executable JAR in META-INF

Main-Class: some.class.Main

Executable JAR in Maven

Maven JAR Plugin - Declaring a Main Class

Executable JAR in ant

<target name="jar" depends="compile">
    <jar destfile="target/tdanalyzer.jar">
        <zipfileset dir="./target/classes" includes="**/*.class"/>
        <manifest>
           <attribute name="Main-Class" value="com.novaordis.universus.tdanalyzer.Main"/>
        </manifest>
    </jar>
</target>