The java-container, java-container-tests, java-commit and java-commit-tests goals of the plugin are used in a parent pom of a multi-module project by providing a configuration as shown below. For each project providing container model data (as determined by the container implementation provided to the plugin by a corresponding container implementation dependency), the plugin will manage the contents of various source code sections based on that data.
See the jdtaus-container-1.1.xsd XML schema regarding the jDTAUS Container reference implemenation, which expects XML document resources located at classpath location META-INF/jdtaus/module.xml.
... <build> ... <pluginManagement> <plugins> ... <plugin> <groupId>org.jdtaus.mojo</groupId> <artifactId>jdtaus-container-mojo</artifactId> <version>${jdtaus-container-mojo.artifact.version}</version> <dependencies> <dependency> <groupId>org.jdtaus.core.container</groupId> <artifactId>jdtaus-core-client-container</artifactId> <version>${core.version}</version> </dependency> </dependencies> <executions> <execution> <id>remove-trailing-spaces</id> <phase>validate</phase> <inherited>true</inherited> <goals> <goal>clean-sources</goal> </goals> </execution> <execution> <id>manage-main</id> <inherited>true</inherited> <goals> <goal>java-container</goal> </goals> </execution> <execution> <id>manage-tests</id> <inherited>true</inherited> <goals> <goal>java-container-tests</goal> </goals> </execution> <execution> <id>commit-main</id> <inherited>true</inherited> <goals> <goal>java-commit</goal> </goals> </execution> <execution> <id>commit-tests</id> <inherited>true</inherited> <goals> <goal>java-commit-tests</goal> </goals> </execution> </executions> <configuration> <locale>en</locale> <encoding>UTF-8</encoding> </configuration> </plugin> ... </plugins> </pluginManagement> .. <plugins> ... <plugin> <groupId>org.jdtaus.mojo</groupId> <artifactId>jdtaus-container-mojo</artifactId> </plugin> ... </plugins> ... </build>
Note: The default plugin configuration expects the following section markers to be present in source files of java classes defined in a project's container model. Any non-existent source file will be created in the source root configured via the sourceRoot parameter.
//--Constructors------------------------------------------------------------ //------------------------------------------------------------Constructors-- //--Dependencies------------------------------------------------------------ //------------------------------------------------------------Dependencies-- //--Properties-------------------------------------------------------------- //--------------------------------------------------------------Properties-- //--Messages---------------------------------------------------------------- //----------------------------------------------------------------Messages--
The jdtaus-container-mojo:clean-sources goal of the Container Plugin is not bound to any lifecycle phase and is intended to be invoked on its own or to be added to a multi-module parent project.
To remove any trailing spaces from a projects' source files, execute the following command in that project's base directory.
mvn org.jdtaus.mojo:jdtaus-container-mojo:clean-sources
The jdtaus-container-mojo:verify-model goal of the Container Plugin is bound to the verify lifecycle phase. It is intended to be used on projects creating a final distribution artifact of an application and will fail a build for any problems leading to an invalid container runtime.
To use the goal, add the following to the final distribution project.
... <build> <plugins> ... <plugin> <groupId>org.jdtaus.mojo</groupId> <artifactId>jdtaus-container-mojo</artifactId> <version>${jdtaus-container-mojo.artifact.version}</version> <dependencies> <dependency> <groupId>org.jdtaus.core.container</groupId> <artifactId>jdtaus-core-client-container</artifactId> <version>${core.version}</version> </dependency> </dependencies> <executions> <execution> <id>verify-model</id> <goals> <goal>verify-model</goal> </goals> </execution> </executions> </plugin> ... <plugins> </build> ...
The jdtaus-container-mojo:verify-jar goal of the Container Plugin is bound to the verify lifecycle phase. It is intended to be used for validating a single jar file to contain valid container model data and will fail a build for any problems.
To use the goal, add the following to the project and adjust the value of the jarFile attribute accordingly.
... <build> <plugins> ... <plugin> <groupId>org.jdtaus.mojo</groupId> <artifactId>jdtaus-container-mojo</artifactId> <version>${jdtaus-container-mojo.artifact.version}</version> <dependencies> <dependency> <groupId>org.jdtaus.core.container</groupId> <artifactId>jdtaus-core-client-container</artifactId> <version>${core.version}</version> </dependency> </dependencies> <executions> <execution> <id>verify-jar</id> <goals> <goal>verify-jar</goal> </goals> <configuration> <jarFile>/home/schulte/VPS/jdtaus/jdtaus-core/tags/jdtaus-core-1.15/jdtaus-container-mojo/target/jdtaus-container-mojo-3.13.jar</jarFile> </configuration> </execution> </executions> </plugin> ... <plugins> </build> ...
The jdtaus-container-mojo:spring-descriptor goal of the Container Plugin is bound to the process-resources lifecycle phase. It is intended to be used for creating a spring beans document with information compatible with the project's container model.
To use the goal, add the following to the project.
... <build> <plugins> ... <plugin> <groupId>org.jdtaus.mojo</groupId> <artifactId>jdtaus-container-mojo</artifactId> <version>${jdtaus-container-mojo.artifact.version}</version> <dependencies> <dependency> <groupId>org.jdtaus.core.container</groupId> <artifactId>jdtaus-core-client-container</artifactId> <version>${core.version}</version> </dependency> </dependencies> <executions> <execution> <id>spring-descriptor</id> <goals> <goal>spring-descriptor</goal> </goals> </execution> </executions> </plugin> ... <plugins> </build> ...
Note: Mapping a jDTAUS Container model to a Spring beans model does not decouple from the jDTAUS Container. The generated spring beans descriptor solely helps in accessing classes managed by the jDTAUS container from a spring container.