akquinet has created and published a Maven Archetype which allows you to setup and run a JBoss Seam Sample-Application with a full Maven based build configuration in around 10 seconds.
Maven is a build-management tool for Java projects. Maven uses a declarative construct known as a Project Object Model (POM) to describe projects, dependencies, modules and the build process (build in the large as it includes compilation, packaging, tests, reporting and deployment/distribution). The process for building and distributing a particular artifact (project) is clearly defined. Maven Archetypes allows to easily create pre-configured project skeleton, and so speed up the bootstrap of project developments.
JBoss Seam is a powerful Java EE framework to build robust Enterprise Web-Application. The Seam distribution includes a command line utility called seam-gen. It makes it easy to create a simple Seam Application. But the generated project build relies on Apache Ant. If you embrace the Maven wave, you want to build your application with Maven instead of Ant. Generally, setting a Seam project with Maven is painful. You need to write your Maven Project Object Models (POM files) and must know all the names and versions of used artifacts.
The presented archetype reduce the pain by setting everything correctly for you.
To generate an application for the JBoss AS 5.1.0.GA, just execute the following command:
mvn archetype:generate \ -DarchetypeGroupId=de.akquinet.jbosscc \ -DarchetypeArtifactId=jbosscc-seam-archetype \ -DarchetypeVersion=1.1 \ -DarchetypeCatalog=http://seam-archetype.sourceforge.net/jbosscc-seam-archetype/1.1/archetype-catalog.xml
The generated application is a multi-module project, packaged as an ear archive as presented below.
The generated Maven configuration supports different profiles for development, test and production. It includes dummy EJB 3.0 components, JPA entities with generated test data. The sources shows the programming model of the seam framework. The POM includes dependencies of seam features e.g. seam mail, drools integration or JBPM.
For advanced information please refer the documentation on http://seam-archetype.sourceforge.net/
Just start today!
Feel free to contact us for feedback, ideas or questions.