Plugin Documentation

Goals available for this plugin:

Goal Description
coremedia-application:find-filter-tokens This mojo parses all configuration files found below the configured outputDirectory for ant-style filter tokens. If any are found it prints out the files containing tokens and the tokens itself. In addition it creates a properties file below your projects build directory named like the output directory
coremedia-application:help Display help information on coremedia-application-maven-plugin.
Call mvn coremedia-application:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.
coremedia-application:package-inplace This mojo servers two very distinct purposes:
  • Generate a single runnable CoreMedia application.
  • Aggregate multiple CoreMedia applications into a single deployable unit with shared lib,bin and configurations folders.
Generate a single runnable application
  1. The application is generated in the ${project.build.directory}/${project.build.finalName}/ folder by unpacking all coremedia-application or zip dependencies and copying all JAR dependencies of them in the ${project.build.directory}/${project.build.finalName}/lib folder.
  2. In the last step all file in the sourceDirectory are copied over the unpacked dependent zips to allow overwriting of configuration etc. in the last step of assembling the application.
Merge multiple applications

All dependencies of type coremedia-application and of type zip are detected as candidates to merge and they are handled as if it were base artifacts for a single coremedia application described above. Be aware that this feature cannot be used for skinny coremedia-application artifacts e.g. no dependencyManagement can be applied to the extraction of the dependencies.

coremedia-application:zip-it Zips the result of the package-inplace goal and attaches the zip file as project artifact. There are two modes:
  • Deployable Application (default)
  • Skinny Application

The deployable application corresponds to the generated artifact in the ${project.build.directory}/${project.build.finalName}/ folder. If a skinny application is chosen all referenced jar artifacts are not included in the packaged artifact e.g. no lib/*.jar and also no ${project.build.directory}/${project.build.finalName}/config/[applicationName]/framework/*.jar.

If war artifacts are merged in, their jars won't be excluded from the zipped artifact since they are loaded by an isolated classloader and therefore no dependencyManagement can be applied on further aggregation layers.

System Requirements

The following specifies the minimum requirements to run this Maven plugin:

Maven 3.1.1
JDK 1.7
Memory No minimum requirement.
Disk Space No minimum requirement.

Usage

You should specify the version in your project's plugin configuration:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.coremedia.maven</groupId>
          <artifactId>coremedia-application-maven-plugin</artifactId>
          <version>3.0.1</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>com.coremedia.maven</groupId>
        <artifactId>coremedia-application-maven-plugin</artifactId>
        <version>3.0.1</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

For more information, see "Guide to Configuring Plug-ins"