我已经坚持了好几个小时,我找不到任何有关如何为已发布的jar指定模式的资源(这些已发布到我的本地存储库。
我在另一个ant任务创建的构建目录中有一个名为 peacock-lib-1.0.jar 的文件。运行发布 ant任务时,常春藤找到该文件并将其复制到我希望找到它的本地目录中。但是,目标文件最终被重命名为 peacock-lib.jar 。
显然只是缺少配置,但我无法找到什么。
这是我的ivy.xml:
<ivy-module version="2.0">
<info organisation="myorg" module="peacock-lib" />
<publications>
<artifact name="peacock-lib" type="jar"/>
</publications>
<dependencies>
...
</dependencies>
</ivy-module>
和我的蚂蚁任务:
<target name="publish-local" description="--> Publish Local">
<property name="ivy.organisation" value="myorg" />
<property name="ivy.module" value="peacock-lib" />
<property name="ivy.revision" value="${peacockLibVer}" />
<ivy:publish resolver="local" pubrevision="${peacockLibVer}" status="release" update="true" overwrite="true">
<artifacts pattern="dist/lib/[module]-[revision].[ext]" />
</ivy:publish>
</target>
任何帮助将不胜感激。
问候
蕨类
答案 0 :(得分:2)
感谢上面的Ian为我提供了关于附加配置的指针。
为了解决这个问题,我在jar中查看了ivysettings.xml。在ivysettings-local.xml中,我看到了导致我想要覆盖的命名法的原因,所以我生成了自己的ivysettings.xml只影响这些值(注意我没有替换原来的ivysettings.xml):
<ivysettings>
<include url="${ivy.default.settings.dir}/ivysettings.xml"/>
<property name="ivy.local.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" override="true"/>
<property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" override="true"/>
<resolvers>
<filesystem name="local">
<ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
<artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" />
</filesystem>
</resolvers>
</ivysettings>