Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8214567
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T11:30:14+00:00 2026-06-07T11:30:14+00:00

I have the following ivy file: <configurations defaultconfmapping=buildtime> <conf name=buildtime visibility=private description=Libraries needed only

  • 0

I have the following ivy file:

<configurations defaultconfmapping="buildtime">
    <conf name="buildtime" visibility="private" description="Libraries needed only for compilation" />
    <conf name="runtime" description="Libraries only needed at runtime" />
    <conf name="test" description="Libraries only needed for testing" />
</configurations>

<dependencies>
  <dependency org="net.java.dev" name="jvyaml" rev="0.2.1" conf="runtime" />
  <dependency org="org.apache.solr" name="solr-core" rev="3.6.0" conf="runtime" />

</dependencies>

and I have an ant retrieve task that looks like this:

<target name="retrieve-all" depends="resolve">
    <ivy:retrieve pattern="lib/[conf]/[artifact]-[revision].[ext]" conf="*" />
</target>

The weird thing is, that all the solr dependencies download into lib/runtime as I’d expect, but the jvyaml module does not! It ‘resolves’, but will not download into the lib/runtime directory unless I change the dependency declaration to:

<dependency org="net.java.dev" name="jvyaml" rev="0.2.1" conf="runtime->master" />

What is this master configuration and why is it needed to pull the jvyaml jar, but not solr?

Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T11:30:16+00:00Added an answer on June 7, 2026 at 11:30 am

    I would suggest restructuring your configurations as follows:

    <ivy-module version="2.0">
        <info organisation="com.myspotontheweb" module="demo"/>
    
        <configurations>
            <conf name="compile" description="Libraries needed only for compilation" />
            <conf name="runtime" description="Libraries only needed at runtime" extends="compile" />
            <conf name="test" description="Libraries only needed for testing" extends="runtime" />
        </configurations>
    
        <dependencies>
            <dependency org="net.java.dev" name="jvyaml" rev="0.2.1" conf="runtime->default" />
            <dependency org="org.apache.solr" name="solr-core" rev="3.6.0" conf="runtime->default" />
        </dependencies>
    
    </ivy-module>
    

    Important changes introduced:

    1. Use the more standard “compile” configuration
    2. Configuration inheritance using the “extends” attribute. Compile dependencies can then be automatically included in both the runtime and test configurations.
    3. Use configuration mappings, for example: conf=”runtime->default”. This makes it obvious which local configuration is associated with which remote configuration.

    Configuration mappings explained

    Configurations are a powerful ivy feature. When ivy downloads Maven modules it performs an internal translation and assigns a standard set of configurations, listed in this answer:

    • How are maven scopes mapped to ivy configurations by ivy

    When declaring a dependency it’s a good idea to always make use of a configuration mapping, so that there is no doubt where the dependencies artifacts are assigned.

    For example:

    <dependency org="??" name="??" rev="??" conf="runtime->default" />
    

    Here we’re saying we want the remote module’s default dependencies associated with our local runtime configuration.

    In practice, there are only two remote configuration mappings you’ll actually need:

    • default: The remote module’s artifact and all it’s runtime transitive dependencies
    • master: The remote module’s artifact only (No transitive dependencies)

    In conclusion, I think your problem was caused by the fact that the remote Maven module’s “runtime” scope does not include Maven module’s artifact, instead you were getting the non-existant transitive dependencies of the module jvyaml 🙁

    Some additional advice

    I’d also suggest generating an ivy dependency management report, as follows:

    <target name="init" description="Resolve dependencies and populate lib dir">
        <ivy:resolve/>
        <ivy:report todir="${build.dir}/ivy-report" graph="false"/>
        <ivy:retrieve pattern="lib/[conf]/[artifact]-[revision].[ext]"/>
    </target>
    

    The report will help explain how each dependency ends up on different configurations. Also really useful for determining how transitive dependencies are being managed.

    And finally, here’s where the configuration inheritance pays off, creating ivy managed ANT classpaths:

    <target name="init" description="Resolve dependencies and set classpaths">
        <ivy:resolve/>
        <ivy:report todir="${build.dir}/ivy-report" graph="false"/>
    
        <ivy:cachepath pathid="compile.path" conf="compile"/>
        <ivy:cachepath pathid="runtime.path" conf="runtime"/>
        <ivy:cachepath pathid="test.path"    conf="test"/>
    </target>
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have an ivy file with the following dependency: <dependency org=totimm name=techcentral rev=1.6.+ conf=sdk->sdk
I have following definition in ivy.xml <dependency org=southbeach name=ego rev=4.3.1 conf=properties->asterik > <artifact name=ego
<ivy-module version=2.0> <info organisation=com.travelclick module=CoreWebServices revision=4.1/> <configurations defaultconfmapping=default> <conf name=runtime visibility=public/> <conf name=default visibility=public
I have following Html file with javascript. This gives me error that testCircle is
I have following batch file code: @echo off SET INSTALL_PATH=c:\program files\ :ask_again if exist
I have following mysqli configuration settings on a separate file: $mysqli = new mysqli(localhost,
I'm using Jenkins, Ivy and Ant for my builds. I have the following lines:
I have following text in a file 23456789 When I tried to replace the
I have the following ant and ivy files to set up my project. I
I have following code for opening files programatically: Uri path = Uri.fromFile(file); Intent intent

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.