E.g.
jnlp-project1/pom.xml - pom or jar packaging. Uses Webstart Plugin to package the generated files into a zip jnlp-project2/pom.xml - pom or jar packaging. Uses Webstart Plugin to package the generated files into another zip webapp/pom.xml - war packaging. Creates a WAR file. webapp-bundle/pom.xml - pom packaging. Uses user defined assembly to combines the jnlp-project* resulting zip and the WAR into its own WAR.
In webapp-bundle:
<?xml version="1.0"?> <project> <modelVersion>4.0.0</modelVersion> <parent> <groupId>yourproject</groupId> <artifactId>project-parent</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>full-webapp</artifactId> <packaging>pom</packaging> <name>Project Full WebApp</name> <description>Webapp + Webstart Clients</description> <dependencies> <dependency> <groupId>yourproject</groupId> <artifactId>webapp</artifactId> <version>${version}</version> <type>war</type> </dependency> <dependency> <groupId>yourproject</groupId> <artifactId>clients-webstart-1</artifactId> <version>${version}</version> <type>zip</type> </dependency> <dependency> <groupId>yourproject</groupId> <artifactId>clients-webstart-2</artifactId> <version>${version}</version> <type>zip</type> </dependency> <dependency> <!-- required to support MNG-1274 --> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-archiver</artifactId> <version>1.0-alpha-4</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.1</version> <executions> <execution> <phase>verify</phase> <!-- FIXME should be package, but inifinte loop see MNG-1311 --> <goals><goal>assembly</goal></goals> </execution> </executions> <configuration> <descriptor>src/assemble/main.xml</descriptor> </configuration> </plugin> </plugins> </build> </project>
and
<assembly> <id>main</id> <formats> <format>war</format> </formats> <includeBaseDirectory>false</includeBaseDirectory> <dependencySets> <dependencySet> <outputDirectory>/</outputDirectory> <includes> <include>yourproject:webapp</include> </includes> <unpack>true</unpack> <scope>runtime</scope> </dependencySet> <dependencySet> <outputDirectory>ws1</outputDirectory> <includes> <include>yourproject:clients-webstart-1</include> </includes> <unpack>true</unpack> <scope>runtime</scope> </dependencySet> <dependencySet> <outputDirectory>ws1</outputDirectory> <includes> <include>yourproject:clients-webstart-2</include> </includes> <unpack>true</unpack> <scope>runtime</scope> </dependencySet> <!--dependencySet> NOT YET IN CENTRAL REPOSITORY <outputDirectory>WEB-INF/lib</outputDirectory> <includes> <include>com.sun.java.jnlp:jnlp-servlet</include> </includes> <scope>runtime</scope> </dependencySet--> </dependencySets> </assembly>