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: <code> java -jar ivy.jar -? </code> It will display an online help like this: <code> ==== 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 </code> <span class="since">since 1.3</span> System properties are included as ivy variables, so you can easily define an ivy variable like this: <code> java -Dmyivyvar=myvalue org.apache.ivy.Main [parameters] </code> <h1>Examples</h1> <code> java -jar ivy.jar </code> calls ivy with default configuration using ivy.xml in the current dir <hr/> <code> java -jar ivy.jar -settings path/to/myivysettings.xml -ivy path/to/myivy.xml </code> calls ivy with given ivysettings file using given ivy file <hr/> <span class="since">since 1.3</span> <code> java -jar ivy.jar -settings path/to/myivysettings.xml -dependency apache commons-lang 2.0 </code> calls ivy with given ivysettings file and resolve apache commons-lang 2.0. This is equivalent to: <code> java -jar ivy.jar -settings path/to/myivysettings.xml -ivy ivy.xml </code> with ivy.xml like this: <code type="xml"> <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> </code> <hr/> <span class="since">since 1.3</span> <code> java -jar ivy.jar -settings path/to/myivysettings.xml -ivy path/to/myivy.xml -cachepath mycachefile.txt </code> 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. <hr/> <span class="since">since 1.4</span> <code> java -jar ivy.jar -settings path/to/myivysettings.xml -dependency bar foo 2.0 -main org.bar.foo.FooMain </code> 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