In the latest Grails releases we can execute our tests in so-called forked mode. This means a separate JVM is started with an isolated classpath from the Grails build system. When we want to run our tests in forked mode from within IntelliJ IDEA we get the following error:
Error running forked test-app: Could not load grails build listener class (Use --stacktrace to see the full trace). To make running tests in forked mode work with IntelliJ IDEA we must add one of the IntelliJ IDEA supplied JAR files to the Grails classpath.
IntelliJ IDEA 13 has a new feature Search Everywhere. With this feature we can search for files, actions, classes, settings and more using a simple search dialog box. We must press the Shift button twice to get the Search Everywhere dialog.
We get a simple input field where we can start typing what we search for. For example we want to search for the file
BuildConfig.groovy. We start typing the first letters of the filename and immediately we get to see some results:
When we convert a
Set to XML using the Grails XML marshalling support the name of the root element is either
<set>. We can change this name by extending the
org.codehaus.groovy.grails.web.converters.marshaller.xml.CollectionMarshaller. We must override the method
supports() to denote the type of collection we want to customize the root element name for. And we must override the method
getElementName() which returns the actual name of the root element for the
When we use for example the
war command Grails will create files and stores them by default in the project’s working directory. The location of the project working directory can be customized in our
grails-app/conf/BuildConfig.groovy configuration file. We remove the generated files with the Grails
clean command. This command will remove all compiled class files, the WAR file, cached scripts and test reports. But this doesn’t remove all files in the project working directory. For example plugins or a temporary
web.xml file, which are stored in the project working directory are not removed. We must use the
clean-all command to also remove those files from the project working directory completely.