Installation and Verification

Unzip Issues

On some platforms, you may encounter issues unzipping due to file name length. These are almost certainly just issues in the documentation (newer versions on the web), and can be ignored.

Groovy Missing

If BusLogicIntro shows compile errors (e.g., unable to find class BusLogicIntro) after installation, you need to install Groovy. Groovy is used in this demonstration project - it is not required for your projects.

Basic Guidelines

Stack Trace

Read all the way down - often nested

Get Hibernate running before Business Logic

Getting Hibernate to run can often be tricky. We recommend you get Hibernate running for basic retrieval / update before introducing business logic.

IDE Considerations

Consult your IDE documentation and the web for most problems. The sub-sections below describe a number of issues we have encountered.

Eclipse and Maven

We use Eclipse Indigo (earlier Helios), and SpringSource STS. The latter provides increased debug support for Groovy. Presuming you are building Web Projects, be sure to get the EE version.

You may wish to install Maven. It is required for the BusLogicTutorial (JSP version), and of course you may wish to use it as well. We offer the following checklist:

Get Maven using Windows > Install Software > Indigo - http://download.eclipse.org/releases/indigo (it is not installed by default in the EE version).

This project also requires the WTP integration. Ensure you have this (it can be obtained here). You can verify it using Window > Install Software > What's Installed (click thumbnail at right to expand)

In extreme cases, you may encounter unusual issues. We have often resolved these by deleting the Maven cache. You can find it under Windows at a location such as C:\Users\val\.m2, or /Users/val/.m2/ on the Mac (you will need a tool to view hidden files, such as Tinker Tool)

If you encounter extremely (hours) slow maven time, check your Virus protection. There are many fine programs, on Windows we use ClamWin after experiencing some truly dreadful problems with another product.

Check your machine's JDK version relative to the maven pom's <java.version>. In these days of virtual machines, it is easy to get a mismatch here (look for "no targeted runtime").

Grails

The following issues may occur under Grails.

Error SLF4J: Class path contains multiple SLF4J bindings

In some versions of Grails, updating BuildConfig to include Business Logic may encounter slf4j version errors when you attempt to Grails Tools > Refresh Dependencies. These can occur in the Console Log, in which case you can ignore them. If they occur as dialogs, this can interfere with proper class path construction, resulting in compile errors.

We have circumvented this by restarting STS. You can also try deleting the Grails .ivy cache (on Mac, find it at a location like /Users/val/.grails/ivy-cache/ as described in the section above).

Groovy

Issues regarding Groovy.

Groovy Annotation Syntax

Groovy annotation syntax differs slightly from Java:

Multi-line: use triple single quotes for multi-line annotation string parameters