It's been a while since I posted, so here's a quick and dirty code by example:
If you want to make a standalone jar (ie one with no dependencies) executable, here's how you do it:
<pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>com.yourcompany.YourClass</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </pluginManagement>
If however you have dependencies, you will probably want to bundle them into a single jar, otherwise making it executable is not very helpful. You can use the assembly plugin to do it like this:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <goals> <goal>attached</goal> </goals> <phase>package</phase> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.yourcompany.YourClass</mainClass> </manifest> </archive> </configuration> </execution> </executions> </plugin>
A few comments:
See more Maven How-Tos and Best Practices here.