Apache Ivy – Integrate with Artifactory

Like Maven, we could setup a repository server for better dependency management. So instead of connecting to the public repository, we want our Apache Ivy project links to our repository server, i have already setup the Artifactory repository server in my local machine. Let’s continue with the project we created yesterday.


1. Add the ivysettings.xml location in the build.xml.

<project name="hello-world-ant" basedir="." default="main" xmlns:ivy="antlib:org.apache.ivy.ant">

  <!-- Ant properties -->
  <property name="src.dir"     value="src"/>
  <property name="lib.dir"     value="lib"/>
  <property name="build.dir"   value="build"/>
  <property name="classes.dir" value="${build.dir}/classes"/>
  <property name="jar.dir"     value="${build.dir}/jar"/>
  <property name="main-class"  value="com.eureka.HelloWorld"/>

  <ivy:settings file="./ivysettings.xml" />

  <target name="clean">
    <delete dir="${build.dir}"/>
    <delete dir="${lib.dir}"/>

  <target name="resolve">
  <target name="report" depends="resolve">
    <ivy:report todir="${build.dir}"/>

  <target name="compile" depends="report">
    <mkdir dir="${classes.dir}"/>
    <javac srcdir="${src.dir}" destdir="${classes.dir}"/>

  <target name="jar" depends="compile">
    <mkdir dir="${jar.dir}"/>
    <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
        <attribute name="Main-Class" value="${main-class}"/>

  <target name="run" depends="jar">
    <java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>

  <target name="clean-build" depends="clean,jar"/>

  <target name="main" depends="clean,run"/>



2. Create the ivysettings.xml.

  <settings defaultResolver="main" />
  <credentials host="localhost" realm="Artifactory Realm" username="admin" passwd="password" />
    <chain name="main">
      <ibiblio name="public" m2compatible="true" root="http://localhost:8081/artifactory/repo" />


3. Try to build your project with Apache Ant and see if you could retrieve the dependencies from the Artifactory server.

4. Verify your setup by checking if the libs are cached on the Artifactory server.

Done =)

Reference: Setting up Ivy to work with Artifactory


One thought on “Apache Ivy – Integrate with Artifactory”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.