Maven2 plugin for allows user to generate class with entities as a part of build process controlled by Maven2.
Plugin is configured to be executed in generate-sources phase.
For description of goal see plugin documentation: version 1.0 or version 1.1-SNAPSHOT.
By default source is being generated into $project.build.directory/generated-sources/entities (in default setup it points to target/generated-sources/entities) directory. Plugin also adds this directory to list of directories containing source code, so this code is available for further processing (compilation). $project.build.directory should not be stored in CVS/SVN.
Minimal pom.xml should contains:
<project>
[...]
<build>
<plugins>
[...]
<plugin>
<artifactId>plugin-m2</artifactId>
<groupId>net.sf.aislib.tools.entities</groupId>
<version>1.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<packageName>root.package.name</packageName>
<sourceFile>path/to/entities.dtd</sourceFile>
</configuration>
</execution>
</executions>
</plugin>
[...]
</plugins>
</build>
[...]
</project>
where root.package.name is a package name that should be used as a main package name for generated classes (generators adds a subpackage names to root name) and path/to/entities.dtd is a location of file containing entities.
Plugin also may be used to generated source code stored in source code repository. For example of such configuration see samples in Mapping.