I have a multi-module maven project with an installer sub-project. The installer will be distributed as an executable JAR. It will setup the DB and extract the WAR file to the app server. I would like to use maven to assemble this jar like so:
/META-INF/MANIFEST.MF
/com/example/installer/Installer.class
/com/example/installer/…
/server.war
The manifest will have a main-class entry pointing to the installer class. How might I get maven to build the jar in this fashion?
You can build the jar using the Maven Assembly Plugin.
First, you’ll need to add some information to your pom.xml plugins section to make the resulting jar executable:
I recommend using a separate assembly descriptor to build the actual installer jar. Here’s an example:
If you’ve saved the assembly descriptor as ‘installer.xml’ you can build your jar by running the assembly like this:
Hope this helps. Here are some additional links that you might find useful: