Last updated by 4 years ago

Page: Developer - Maven Integration, Version:5

The Grails Maven integration consists of an archetype and a plugin.

The Maven archetype

The source for the archetype is located in Git. The archetype defines the project template when creating a Grails project with the command:

mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate 
    -DarchetypeGroupId=org.grails 
    -DarchetypeArtifactId=grails-maven-archetype 
    -DarchetypeVersion=1.0 
    -DgroupId=example -DartifactId=my-app

To update the archetype you need to specify a new archetype version in ARCHETYPE_HOME/pom.xml and specify the Grails version it relates to in src/main/resources/archetype-resources/pom.xml by updating the following two dependenices:

<dependency>
      <groupId>org.grails</groupId>
      <artifactId>grails-crud</artifactId>
      <version>1.1-RC2</version>
    </dependency>
    <dependency>
      <groupId>org.grails</groupId>
      <artifactId>grails-gorm</artifactId>
      <version>1.1-RC2</version>
    </dependency>

If the new archetype requires a new version of the Grails plugin this can be specified too:

<plugins>
      <plugin>
        <groupId>org.grails</groupId>
        <artifactId>grails-maven-plugin</artifactId>
        <version>1.0-RC2</version>
        ...

To test out archetype changes you should install the archetype locally with:

mvn install

And then once you are satisfied deploy the changes with

mvn deploy

The Maven Plugin

The source for the Maven plugin is also in Git. A local version can be installed by doing:

mvn install

Deployment can be done with:

mvn deploy

If the version in the pom.xml of the plugin ends with -SNAPSHOT then the plugin will be deployed to the Codehaus snapshot repository otherwise to the real one.