The following configuration will generate a windows (.bat) and unix shell script in the bin folder of the ${project.build.directory}/appassembler sub folder.
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
<configuration>
<programs>
<program>
<mainClass>com.mycompany.app.App</mainClass>
<id>app</id>
</program>
</programs>
</configuration>
</plugin>
</plugins>
</build>
</project>In the following examples we will show only the configuration block, cause the rest will be always the same.
Suppose you have created two classes which have a main you need to create two scripts. This can simply achieved by using the following configuration. There is no limitation how many scrips you can generate through a configuration like this.
<project>
...
<build>
<plugins>
...
<configuration>
<programs>
<program>
<mainClass>com.mycompany.app.App</mainClass>
<id>app</id>
</program>
<program>
<mainClass>com.mycompany.app.App1</mainClass>
<id>app1</id>
</program>
.
.
</programs>
</configuration>
</plugin>
...
</plugins>
</build>
</project>