There are different ways to use the CoreMedia Application Plugin:
By default the goals package-inplace and package-webstart are bound to the prepare-package and the goals zip-it and war-it to the package phase.
To illustrate the general way of using the CoreMedia Application Plugin for coremedia-applications, here's a pom.xml of an example project:
<project>
...
<groupId>com.coremedia.example.project</groupId>
<artifactId>example-application</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>coremedia-application</packaging>
<name>Example Application Project</name>
<dependencies>
<dependency>
<groupId>com.coremedia.example.project</groupId>
<artifactId>application-lib</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>applicationName</finalName>
<plugins>
<plugin>
<groupId>com.coremedia.maven</groupId>
<artifactId>coremedia-application-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
</plugins
</build>
...
</project>The project's structure looks like this:
.
|-- pom.xml
`-- src
`-- main
`--app
|--bin
| `--applicationName.jpif
|--config
| `--applicationName
| `--spring
| `--applicationContext.xml
`--properties
`--corem
`--application.propertiesInvoking
mvn package
or
mvn coremedia-application:package-inplace coremedia-application:zip-it
will generate the ZIP file target/applicationName-1.0-SNAPSHOT.zip. Here are the contents of that ZIP file:
applicationName-1.0-SNAPSHOT.zip
|
|--META-INF
| `--MANIFEST.MF
|--bin
| `--applicationName.jpif
|--config
| `--applicationName
| `--spring
| `--applicationContext.xml
|--properties
| `--corem
| `-application.properties
`--lib
`--application-lib-1.0-SNAPSHOT.jarTo illustrate the general way of using the CoreMedia Application Plugin for coremedia-webstart-applications, here's a pom.xml of an example project:
<project>
...
<groupId>com.coremedia.example.project</groupId>
<artifactId>example-webstart-application</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>coremedia-webstart-application</packaging>
<name>Example Webstart Application Project</name>
<dependencies>
<dependency>
<groupId>com.coremedia.example.project</groupId>
<artifactId>application-lib</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>applicationName</finalName>
<plugins>
<plugin>
<groupId>com.coremedia.maven</groupId>
<artifactId>coremedia-application-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<jnlpTemplate>src/main/jnlp/myJnlpTemplate.vm</jnlpTemplate>
<signConfig>
<alias>coremedia</alias>
<keystore>src/sign/webstart.keystore</keystore>
<keypass>coremedia</keypass>
<storepass>coremedia</storepass>
</signConfig>
<mainClassArtifact>com.coremedia.example.project:application-lib</mainClassArtifact>
<mainClass>com.coremedia.example.Main</mainClass>
<nativeLib>native</nativeLib>
</configuration>
</plugin>
</plugins
</build>
...
</project>The project's structure looks like this:
.
|-- pom.xml
`-- src
|-sign
| `-webstart.keystore
`-- main
|-jnlp
| `-myJnlpTemplate.vm
`--webapp
|-index.html
|-WEB-INF
| `-web.xml
`-webstart
|-native
| `-native-lib.jar
`--properties
`--corem
`--application.propertiesInvoking
mvn package
or
mvn coremedia-application:package-webstart coremedia-application:war-it
will generate the war file target/applicationName-1.0-SNAPSHOT.war. Here are the contents of that war file:
applicationName-1.0-SNAPSHOT.war
|
|--META-INF
| `--MANIFEST.MF
|-index.html
|-WEB-INF
| `-lib
| `-webstart-jnlp-servlet:1.0-6.0-02_ea_b02.jar
`-webstart
|-applicationName.jnlp
|-versions.xml
|--properties
| `--corem
| `-application.properties
|-native
| `-native-lib.jar
`--lib
`--application-lib-1.0-SNAPSHOT.jar