Maven jar Plugin: Difference between revisions
Jump to navigation
Jump to search
Line 69: | Line 69: | ||
</manifestEntries> | </manifestEntries> | ||
</pre> | </pre> | ||
=Include Dependencies - or Some of the Dependencies - in JAR= | |||
There are situations when we want to extract some of the dependencies and bundle them with the JAR artifact. This is done using the jar plugin and the dependency plugin together, as described here: | |||
{{Internal|Maven Include Dependencies in JAR Artifact|Include Dependencies in JAR Artifact}} |
Revision as of 21:35, 24 March 2017
External
Internal
Overview
Plugin Options
forceCreation
If set to true, the jar plugin will build a new JAR even if none of the contents appear to have changed. By default, this plugin looks to see if the output jar exists and inputs have not changed. If these conditions are true, the plugin skips creation of the jar.
Declaring a Main Class in JAR
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>fully.qualified.MainClass</mainClass> </manifest> </archive> </configuration> </plugin>
Other Manifest Customization
Adding arbitrary manifest entries:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>io.novaordis.eventagent.EventAgent</mainClass> </manifest> <manifestEntries> <Premain-Class>io.novaordis.eventagent.EventAgent</Premain-Class> <Agent-Class>io.novaordis.eventagent.EventAgent</Agent-Class> <Can-Redefine-Classes>true</Can-Redefine-Classes> <Can-Retransform-Classes>true</Can-Retransform-Classes> </manifestEntries> </archive> </configuration> </plugin>
In general, to use arbitrary manifest entries, use the following syntax:
... <manifest> </manifest> <manifestEntries> ... <key>value</key> ... </manifestEntries>
Include Dependencies - or Some of the Dependencies - in JAR
There are situations when we want to extract some of the dependencies and bundle them with the JAR artifact. This is done using the jar plugin and the dependency plugin together, as described here: