我正在使用 Ivy 使用以下 Ant 目标将构建 Jar 的快照发布到本地托管的 Nexus 存储库。
<target name="publish">
<ivy:publish resolver="nexus_snapshot" pubrevision="SNAPSHOT" overwrite="true">
<artifacts pattern="${dist.dir}/[artifact].[ext]" />
</ivy:publish>
</target>
这似乎工作正常,导致 Jar 及其关联的 ivy.xml 出现在存储库中(文件名为 mymodule-SNAPSHOT.jar 和 ivy-SNAPSHOT.jar)。
稍后,在另一个构建脚本中,我希望将 Jar 及其相关的依赖项(即,在其 ivy.xml 中指定的)检索到一个目录中。
这是我正在使用的 Ant 目标。
<target name="deploy">
<delete dir="deploy" />
<mkdir dir="deploy" />
<ivy:settings file="${ivy.dir}/ivy_deploy_settings.xml" />
<ivy:retrieve organisation="myorg" module="mymodule"
inline="true" revision="SNAPSHOT" pattern="deploy/[artifact].[ext]"/>
</target>
这会将 Jar 检索到目录,但不检索其依赖项。另外,如果我添加
conf="impl"
到检索,由于找不到配置而失败。
因此,检索似乎根本没有引用 ivy.xml,因此没有解决依赖关系。
这应该工作还是我误解了什么?