Grails

From Elvanör's Technical Wiki
Jump to navigation Jump to search

Grails is a next-generation web development framework powered by Groovy and Java technologies.

Dependencies

  • Grails use the embeddable Groovy jar. You will run into problems if you use the standalone Groovy jar.
  • Grails use currently as of 0.5.0 a custom build of a Spring-modules snapshot. You must thus use the .jar provided in Grails distribution.
  • Grails use version 2.1 of commons-lang (in Portage).
  • Grails use Sitemesh 2.3
  • Grails use Quartz 1.6.0
  • Grails use ehcache 1.2.4 (in Portage).
  • Grails use cglib 2.1.3 (in Portage).

Deployment and build system

  • Under the hood, Grails uses Gant as its build system. Gant is based on Ant but allows you to write build files with Groovy code: you are no longer restrained to XML programming!
  • If you write your own Gant scripts (in $PROJECT_HOME/scripts), you can apparently completely customize the build process.
  • Note that when running the embedded Jetty server (or when running any Grails script for that matter), the additional JAR dependencies are loaded in the classpath.
  • It seems that all the jar dependencies must be present in common/lib. Tomcat has problems when some are in shared/lib.

The web-app directory

While this directory mostly seems to be recreated by the Grails build script, there seem to be such files that are needed there:

  • WEB-INF/web.template.xml
  • WEB-INF/applicationContext.xml
  • WEB-INF/sitemesh.xml

Without these files the web application won't start !!

Questions

  • Does scaffolding works on deployed environment or only on the test container?