The JAR, WAR and EAR files types are fundamentally ZIP files with a "manifest" file and (for WAR and EAR files) a particular internal directory / file structure.
The recommended way to create these files is to use a Java-specific build tool which "understands" the requirements for the respective file types. If you don't use a build tool, then IDE "export" is the next option to try.
(Editorial note: the descriptions of how to create these files are best placed in the documentation for the respective tools. Put them there. Please show some self-restraint and DON'T shoe-horn them into this example!)
Creating a JAR or WAR using Maven is simply a matter of putting the correct <packaging>
element into the POM file; e,g,
<packaging>jar</packaging>
or
<packaging>war</packaging>
For more details. Maven can be configured to create "executable" JAR files by adding the requisite information about the entry-point class and external dependencies as plugin properties for the maven jar plugin. There is even a plugin for creating "uberJAR" files that combine an application and its dependencies into a single JAR file.
Please refer to the Maven documentation ( http://www.riptutorial.com/topic/898 )for more information.
The Ant build tool has separate "tasks" for building JAR, WAR and EAR. Please refer to the Ant documentation ( http://www.riptutorial.com/topic/4223 ) for more information.
The three most popular Java IDEs all have built-in support for creating deployment files. The functionality is often described as "exporting".
jar
command.It is also possible to create these files "by hand" using the jar
command. It is simply a matter of assembling a file tree with the correct component files in the correct place, creating a manifest file, and running jar
to create the JAR file.
Please refer to the jar
command Topic ( Creating and modifying JAR files ) for more information