我正在尝试设置我的 ant 构建,以便运行 Ivy 函数的目标与持续构建和大多数开发人员运行的目标完全分离。我想要一个目标下载更新的依赖项,我将签入。其他目标将通过包含相关目录中的 *.jar 来设置它们的类路径。
我有两种配置:
<configurations>
<conf name="compile" />
<conf name="test" />
</configurations>
我有一些依赖:
<dependency
org="my.org"
name="some-lib"
rev="latest.release"
conf="compile->default" />
<dependency
org="my.org"
name="some-test-lib"
rev="latest.release"
conf="test->default" />
我使用 ivy:retrieve 下载这些依赖项及其传递依赖项:
<ivy:retrieve
pattern="lib/[conf]/[type]/[artifact]-[revision].[ext]"
sync="true"
file="ivy.xml" />
问题是我在 compile 和 test 目录之间看到了一些重复的 jar,它们来自传递依赖项。由于我想检查所有这些 jar 并将它们用于创建类路径,我想避免重复。这可能吗?
lib/compile/jar/some-lib-1.0.jar
lib/compile/jar/ slf4j-api-1.5.11.jar
lib/test/jar/some-test-lib-1.0.jar
lib/test/jar/junit -4.7.jar
lib/test/jar/ slf4j-api-1.5.11.jar