Using Ivy for Dependency Resolution
Ivy Support in Grails 1.2 and above
Since Grails 1.2 and above, Grails features a new dependency resolution DSL built on Ivy. The ivy.xml file is redundant and purely used for kicking of an Ant build of on a CI server (ie DO NOT use it to declare dependencies!).
See
reference docs for further information.
Ivy Support in Grails 1.1
With Grails 1.1, Grails features Ivy support out of the box so you don't need the Ivy plugin. Simply using the Ant build.xml and ivy.xml created by Grails' create-app command.
Ivy Support in Grails 1.0 and below
Pre 1.0 Grails shipped Ivy as part of the core and to get started type the following from the root of your project:
Since 1.0 the Ivy integration is now a plug-in. To install Ivy do the following:
grails install-plugin ivy
Both commands, pre 1.0 and since 1.0, will create an ivy.xml and an ivyconf.xml. You can edit the ivy.xml to define your dependencies. For example:
<ivy-module version="1.0">
<info organisation="codehaus" module="grails"/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.1"/>
<dependency org="apache" name="commons-cli" rev="1.0"/>
<dependency org="apache" name="commons-beanutils" rev="1.7.0"/>
<dependency org="apache" name="commons-collections" rev="3.2"/>
<dependency org="apache" name="commons-logging" rev="1.1"/>
<dependency org="apache" name="commons-pool" rev="1.2"/>
<dependency org="apache" name="commons-validator" rev="1.3.0"/>
<dependency org="dom4j" name="dom4j" rev="1.6.1"/>
<dependency org="junit" name="junit" rev="3.8.1"/>
</dependencies>
</ivy-module>Then when you run a Grails project the dependencies will be resolved first. If you want to add a local JAR repository you can change ivyconf.xml to add your local server. The default configuration resolves from Maven's ibiblio repository.
Whenever you wish to update your dependencies use: