Using standalone


Ivy can be used as a standalone program very easily. All you need is a java 1.4+ runtime environment (JRE)!

Then here is how to call it:
java -jar ivy.jar -?
It will display an online help like this:
==== settings options
-settings <settingsfile> use given file for settings
-cache <cachedir> use given directory for cache
-novalidate do not validate ivy files against xsd
-m2compatible use maven2 compatibility

==== resolve options
-ivy <ivyfile> use given file as ivy file
-dependency <organisation> <module> <revision>
use this instead of ivy file to do the rest of the
work with this as a dependency.
-confs <configurations> resolve given configurations

==== retrieve options
-retrieve <retrievepattern> use given pattern as retrieve pattern
-sync use sync mode for retrieve

==== cache path options
-cachepath <cachepathfile> outputs a classpath consisting of all dependencies
in cache (including transitive ones) of the given
ivy file to the given cachepathfile

==== deliver options
-deliverto <ivypattern> use given pattern as resolved ivy file pattern

==== publish options
-publish <resolvername> use given resolver to publish to
-publishpattern <artpattern> use given pattern to find artifacts to publish
-revision <revision> use given revision to publish the module
-status <status> use given status to publish the module

==== http auth options
-realm <realm> use given realm for HTTP AUTH
-host <host> use given host for HTTP AUTH
-username <username> use given username for HTTP AUTH
-passwd <passwd> use given password for HTTP AUTH

==== launcher options
-main <main> the FQCN of the main class to launch
-args <args> the arguments to give to the launched process
-cp <cp> extra classpath to use when launching process

==== message options
-debug set message level to debug
-verbose set message level to verbose
-warn set message level to warn
-error set message level to error

==== help options
-? display this help
-deprecated show deprecated options
since 1.3 System properties are included as ivy variables, so you can easily define an ivy variable like this:
java -Dmyivyvar=myvalue org.apache.ivy.Main [parameters]

Examples

java -jar ivy.jar
calls ivy with default configuration using ivy.xml in the current dir

java -jar ivy.jar -settings path/to/myivysettings.xml -ivy path/to/myivy.xml
calls ivy with given ivysettings file using given ivy file

since 1.3
java -jar ivy.jar -settings path/to/myivysettings.xml -dependency apache commons-lang 2.0
calls ivy with given ivysettings file and resolve apache commons-lang 2.0.

This is equivalent to:
java -jar ivy.jar -settings path/to/myivysettings.xml -ivy ivy.xml
with ivy.xml like this:
<ivy-module version="1.0">
<info organisation="org"
module="standalone"
revision="working"
/>
<dependencies>
<dependency org="apache" name="commons-lang" rev="2.0" conf="default->*"/>
</dependencies>
</ivy-module>

since 1.3
java -jar ivy.jar -settings path/to/myivysettings.xml -ivy path/to/myivy.xml -cachepath mycachefile.txt
calls ivy with given ivysettings file and resolve the dependencies found in the given ivy file, and then output the classpath of resolved artifacts in cache in a file. This file can then be used to define a classpath corresponding to all the resolved dependencies for any java program.


since 1.4
java -jar ivy.jar -settings path/to/myivysettings.xml -dependency bar foo 2.0 -main org.bar.foo.FooMain
calls ivy with given ivysettings file and resolve bar foo 2.0, and then run org.foo.FooMain class with the resolved artifacts as classpath