我遇到了一个神器的问题,maven-metadata.xml没有显示出来。 这是我正在研究的环境: Apache Archiva,Ivy,ant。
问题:当我通过Web UI表单部署工件时,我能够看到maven-metadata.xml中的所有属性。
<metadata>
<groupId>twitter evt</groupId>
<artifactId>authentication</artifactId>
<versioning>
<latest>1.1</latest>
<release>1.1</release>
<versions>
<version>LATEST</version>
<version>1.0</version>
<version>1.1</version>
</versions>
<lastUpdated>20090729142510</lastUpdated>
</versioning>
</metadata>
但是当我通过命令提示符(ant publish-latest -Dversion = 1.0.3)通过ivy部署工件时,工件正在使用最新更改进行更新,但工件的maven-metadata.xml缺少具有最新时间戳的属性。 / p>
<metadata>
<groupId>twitter evt</groupId>
<artifactId>twitter_account_management</artifactId>
<versioning>
<latest>1.1.1</latest>
<release>1.1.1</release>
<versions>
<version>LATEST</version>
<version>1.0</version>
<version>1.0.1</version>
<version>1.0.2</version>
<version>1.0.3</version>
<version>1.0.4</version>
<version>1.0.5</version>
<version>1.1</version>
<version>1.1.1</version>
</versions>
</versioning>
</metadata>
这是我的蚂蚁发布 - 最新目标:
<target name="publish_latest" depends="_loadantcontrib,dist" >
<ivy:settings file="${ivy.settings.dir}/ivysettings.xml" />
<ivy:resolve file="${ant.dir}/ivy.xml" transitive="false" />
<ivy:findrevision organisation="${ivy.organisation}" module="${ivy.module}" revision="latest.integration"/>
<echo message="looking in: ${basedir}/${build_distdir}/${jar_tcs_libdir}/${component.distfilename}/${component_version}/" />
<ivy:publish resolver="ibiblio" artifactspattern="${basedir}/${build_distdir}/${jar_tcs_libdir}/${component.distfilename}/${component_version}/[artifact].[ext]" pubrevision="${version}" overwrite="true" update="true"/>
</target>
请帮助我解决这个问题,我在获取最新工件的过程中发现了这一点。
答案 0 :(得分:1)
我对常春藤的这个方面并不熟悉,但是有可能是常春藤中没有写字段的错误。
纠正这种情况的一种可能方法是启用Archiva的自动元数据校正功能。尝试在存储库扫描管理页面底部的已知内容的消费者部分中启用元数据更新程序使用者,然后再次部署工件
此处提供了更多信息:http://archiva.apache.org/docs/1.3/adminguide/consumers.html