Integrating Grails and Maven

I’ve started investigating Grails for some projects and have been making some good headway and I like to use Maven for everything as it’s amazing, and generating projects is easy.

<br /> Chill:stsworkspace idimmu$ mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate -DarchetypeGroupId=org.grails -DarchetypeArtifactId=grails-maven-archetype -DarchetypeVersion=1.2.0 -DgroupId=idimmu.net -DartifactId=superted<br /> [INFO] Scanning for projects...<br /> [INFO] ------------------------------------------------------------------------<br /> [INFO] Building Maven Default Project<br /> [INFO] task-segment: [org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate] (aggregator-style)<br /> [INFO] ------------------------------------------------------------------------<br /> [INFO] Preparing archetype:generate<br /> [INFO] No goals needed for project - skipping<br /> [INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.<br /> [INFO] Setting property: velocimacro.messages.on => 'false'.<br /> [INFO] Setting property: resource.loader => 'classpath'.<br /> [INFO] Setting property: resource.manager.logwhenfound => 'false'.<br /> [INFO] [archetype:generate]<br /> [INFO] Generating project in Interactive mode<br /> [WARNING] No archetype repository found. Falling back to central repository (https://repo1.maven.org/maven2).<br /> [WARNING] Use -DarchetypeRepository=<your repository> if archetype's repository is elsewhere.<br /> Define value for version: 1.0-SNAPSHOT: :<br /> Confirm properties configuration:<br /> groupId: idimmu.net<br /> artifactId: superted<br /> version: 1.0-SNAPSHOT<br /> package: idimmu.net<br /> Y: :<br /> [INFO] ----------------------------------------------------------------------------<br /> [INFO] Using following parameters for creating OldArchetype: grails-maven-archetype:1.2.0<br /> [INFO] ----------------------------------------------------------------------------<br /> [INFO] Parameter: groupId, Value: idimmu.net<br /> [INFO] Parameter: packageName, Value: idimmu.net<br /> [INFO] Parameter: package, Value: idimmu.net<br /> [INFO] Parameter: artifactId, Value: superted<br /> [INFO] Parameter: basedir, Value: /Users/idimmu/Documents/stsworkspace<br /> [INFO] Parameter: version, Value: 1.0-SNAPSHOT<br /> [WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/pom.xml [line 147,column 20] : ${java.version} is not a valid reference.<br /> [WARNING] org.apache.velocity.runtime.exception.ReferenceException: reference : template = archetype-resources/pom.xml [line 149,column 23] : ${java.home} is not a valid reference.<br /> [INFO] ********************* End of debug info from resources from generated POM ***********************<br /> [INFO] OldArchetype created in dir: /Users/idimmu/Documents/stsworkspace/superted<br /> [INFO] ------------------------------------------------------------------------<br /> [INFO] BUILD SUCCESSFUL<br /> [INFO] ------------------------------------------------------------------------<br /> [INFO] Total time: 15 seconds<br /> [INFO] Finished at: Thu Jan 07 21:45:39 GMT 2010<br /> [INFO] Final Memory: 12M/79M<br /> [INFO] ------------------------------------------------------------------------<br />

Then of course we initialise the project

<br /> Chill:superted idimmu$ mvn initialize<br /> [INFO] Scanning for projects...<br /> [INFO] ------------------------------------------------------------------------<br /> [INFO] Building Unnamed - idimmu.net:gymlife:war:1.0-SNAPSHOT<br /> [INFO] task-segment: [initialize]<br /> [INFO] ------------------------------------------------------------------------<br /> [INFO] [grails:validate {execution: default}]<br /> [INFO] No Grails application found - skipping validation.<br /> [INFO] [grails:init {execution: default}]<br /> [INFO] Cannot read application info, so initialising new application.<br /> [INFO] Using Grails 1.2.0<br /> Running pre-compiled script<br /> Environment set to development<br /> Warning, target causing name overwriting of name default<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/src/java<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/src/groovy<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/controllers<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/services<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/domain<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/taglib<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/utils<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/views<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/views/layouts<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/i18n<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/conf<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/test<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/test/unit<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/test/integration<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/scripts<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/web-app<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/web-app/js<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/web-app/css<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/web-app/images<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/web-app/META-INF<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/lib<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/conf/spring<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app/conf/hibernate<br /> [propertyfile] Creating new property file: /Users/idimmu/Documents/stsworkspace/gymlife/application.properties<br /> [copy] Copying 1 resource to /Users/idimmu/Documents/stsworkspace/gymlife<br /> [unjar] Expanding: /Users/idimmu/Documents/stsworkspace/gymlife/grails-shared-files.jar into /Users/idimmu/Documents/stsworkspace/gymlife<br /> [delete] Deleting: /Users/idimmu/Documents/stsworkspace/gymlife/grails-shared-files.jar<br /> [copy] Copying 1 resource to /Users/idimmu/Documents/stsworkspace/gymlife<br /> [unjar] Expanding: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app-files.jar into /Users/idimmu/Documents/stsworkspace/gymlife<br /> [delete] Deleting: /Users/idimmu/Documents/stsworkspace/gymlife/grails-app-files.jar<br /> [copy] Copying 1 resource to /Users/idimmu/Documents/stsworkspace/gymlife/target/integration-files<br /> [unjar] Expanding: /Users/idimmu/Documents/stsworkspace/gymlife/target/integration-files/grails-integration-files.jar into /Users/idimmu/Documents/stsworkspace/gymlife/target/integration-files<br /> [delete] Deleting: /Users/idimmu/Documents/stsworkspace/gymlife/target/integration-files/grails-integration-files.jar<br /> [copy] Copying 3 files to /Users/idimmu/Documents/stsworkspace/gymlife<br /> Created Eclipse project files.<br /> Installing plugin hibernate-1.2.0<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/plugins/hibernate-1.2.0<br /> [unzip] Expanding: /Users/idimmu/.grails/1.2.0/plugins/grails-hibernate-1.2.0.zip into /Users/idimmu/Documents/stsworkspace/gymlife/plugins/hibernate-1.2.0<br /> Resolving plugin JAR dependencies<br /> Executing hibernate-1.2.0 plugin post-install script ...<br /> Plugin hibernate-1.2.0 installed<br /> Installing plugin tomcat-1.2.0<br /> [mkdir] Created dir: /Users/idimmu/Documents/stsworkspace/gymlife/plugins/tomcat-1.2.0<br /> [unzip] Expanding: /Users/idimmu/.grails/1.2.0/plugins/grails-tomcat-1.2.0.zip into /Users/idimmu/Documents/stsworkspace/gymlife/plugins/tomcat-1.2.0<br /> Executing tomcat-1.2.0 plugin post-install script ...<br /> Plugin tomcat-1.2.0 installed<br /> Plug-in provides the following new scripts:<br /> ------------------------------------------<br /> grails tomcat<br /> Found events script in plugin tomcat<br /> Created Grails Application at /Users/idimmu/Documents/stsworkspace/superted<br /> [INFO] ------------------------------------------------------------------------<br /> [INFO] BUILD SUCCESSFUL<br /> [INFO] ------------------------------------------------------------------------<br /> [INFO] Total time: 16 seconds<br /> [INFO] Finished at: Thu Jan 07 21:46:24 GMT 2010<br /> [INFO] Final Memory: 48M/81M<br /> [INFO] ------------------------------------------------------------------------<br />