Appearantly I did something wrong. Running "ivy:retrieve" now downloads
94 jars. Ok. However, if I I now want to split up like this:
<ivy:retrieve conf="runtime" pattern="lib/[artifact]-[revision].[ext]"/>
<ivy:retrieve conf="test"
pattern="lib-test/[artifact]-[revision].[ext]"/>
<ivy:retrieve conf="build"
pattern="lib-ext/[artifact]-[revision].[ext]"/>
Then I get an error
/BUILD FAILED
C:\Documents and Settings\User\My
Documents\kpprofiler2\components\service\build.xml:39: impossible to ivy
retrieve: java.lang.RuntimeException: problem during
retrieve of nl.knowledgeplaza#kpprofiler-service:
java.lang.RuntimeException: Multiple artifacts of the module
org.codehaus.enunciate#enunciate-rt;1.10 are ret
ieved to the same file! Update the retrieve pattern to fix this error.
/
OK, many projects have source and jar artifacts with the same name, so
you really want to either set a retrieve pattern which includes the
type of the artifact for disambiguation. If you cannot do this, you'll
need to specify an exclusion rule for your dependencies to only
include type jar. Here are examples of both:
<ivy:retrieve
pattern="${ivy.lib.dir}/[type]/[artifact]-[revision].[ext]"
haltonfailure="true" conf="build" sync="true"/>
<dependencies>
<exclude type="source"/>
</dependencies>
Hm. Ok, I understand the problem that if multiple artifact are
downloaded to the same file, then that would be an error. But why does
"<ivy:retrieve/>" not have the same problem? Logically again; I have 4
dependency lines resulting in 94 jars, and the only thing I can do is
filter these jars using configuration labels, how does limiting these 94
jars introduce a retrieved-to-same-file exception? If the error doesn't
occur in the 94, how can it occur in a subset?
Tom