Working with Ivy and Artifactory (Legacy)

Maintain a legacy Ivy and Ant build in Artifactory and plan migration to a maintained path.

Legacy path: Do not start a new integration on this page. Prefer a maintained publication path such as the Maven Artifactory Plugin, the Artifactory Gradle Plugin, or JFrog CLI. There is no current standalone JFrog Ivy plugin page.

This page helps you maintain an existing build that still resolves or publishes artifacts with Apache Ivy and Ant. For the full set of replacement paths, see Legacy Build Integration Plugins.

Files Used by an Existing Ivy Build

An existing flow normally has:

  • ivysettings.xml for resolver definitions and credentials.
  • ivy.xml for modules and dependencies.
  • build.xml for Ant targets that call Ivy.

The JFrog Ivy example project loads ivysettings.xml, resolves with ivy:resolve, retrieves with ivy:retrieve, and publishes with ivy:publish to a named resolver.

Preserve an Existing Resolver Safely

To preserve an existing Ivy resolver safely:

  1. Keep resolver and artifact patterns aligned with the JFrog Artifactory repository layout that your build already uses.
  2. Store credentials outside source-controlled XML. Do not copy the historical admin and password examples into production.
  3. Use a virtual repository for resolution and a local repository for publication.
  4. Run the existing Ant target that performs resolve or publish.
  5. Confirm the expected module descriptor and artifact paths in Artifactory.

A verified example of the task shape is available in the JFrog Ivy example project. The example uses its own local resolver names, which can differ from the repository layout your build already uses.

Migration Guidance

For new development, you can move publication to a maintained Maven or Gradle workflow. The values to compare during a migration are organization, module, revision, artifact name, and descriptor paths.

Troubleshooting

The following table lists common symptoms, their likely causes, and the action to take.

SymptomLikely causeAction
Dependencies do not resolveResolver URL or pattern does not match the repository layoutCompare ivysettings.xml patterns with existing artifact paths.
Publish receives 401 or 403Missing credentials or deploy permissionUse a token-backed identity with deploy permission on the local repository.
Published files appear under an unexpected pathIvy and artifact patterns differ from the established layoutVerify both patterns before republishing.

Related Topics


Did this page help you?