Last updated by
8 months ago
Page: Developer - Maven Integration, Version:17
The Grails Maven integration consists of an archetype and a plugin.To fully generate the Grails project structure use the following command (similar to the command line)To update the archetype you need to specify a new archetype version in If the new archetype requires a new version of the Grails plugin this can be specified too:To test out archetype changes you should install the archetype locally with:And then once you are satisfied deploy the changes withDeployment can be done with:Because Maven caches the files it downloads, you have to be careful when testing that you aren't picking up artifacts from previous runs/builds. Before publishing a release, you must always try the Maven integration out with a clean cache. To do that, just follow these steps:
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 archetype:generate
-DarchetypeGroupId=org.grails
-DarchetypeArtifactId=grails-maven-archetype
-DarchetypeVersion=1.3.2
-DgroupId=example -DartifactId=my-appcd my-app mvn initialize
ARCHETYPE_HOME/pom.xml and specify the Grails version it relates to in src/main/resources/archetype-resources/pom.xml by updating the following three dependenices:<dependency> <groupId>org.grails</groupId> <artifactId>grails-bootstrap</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.grails</groupId> <artifactId>grails-crud</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.grails</groupId> <artifactId>grails-gorm</artifactId> <version>1.3.2</version> </dependency>
<plugins>
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>1.3.2</version>
...mvn install
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
mvn deploy
Release Procedure
In order to deploy the Grails artifacts to the Codehaus repositories, you will have to do some setup - see the Codehaus Maven repository instructions for the full details. Most of the work has already been done, but to perform the actual upload, you will need to add the following to your Maven settings (usually~/.m2/settings.xml ):
<settings> … <servers> <server> <id>codehaus.org</id> <username>USERNAME</username> <password>PASSWORD</password> </server> </servers> … </settings>
- Remove everything under
~/.m2/repository/. - Install latest version of
grails-maven-archetypeby runningmvn installfrom your working copy. - Install latest version of
grails-maven-archetypeby runningmvn installfrom your working copy. - Install latest version of
grails-maven-pluginby runningmvn install. - Install latest version of Grails by running
ant maven-install.
pom.xml of the plugin ends with -SNAPSHOT then the plugin will be deployed to the Codehaus snapshot repository otherwise to the real one.