如何将解析的 ivy.xml 发布到 Nexus
Posted
技术标签:
【中文标题】如何将解析的 ivy.xml 发布到 Nexus【英文标题】:How to publish resolved ivy.xml to Nexus 【发布时间】:2018-02-17 07:46:10 【问题描述】:我的工件是一个文本文件,其中包含一些文本(提交 ID)。这是我的 ivy.xml 和 build.xml
ivy.xml
<ivy-module version="2.0">
<info organisation="org.myorg"
module="commit-info"
status="release"/>
<publications>
<artifact name="commit_info" type="text" ext="txt"/>
</publications>
</ivy-module>
build.xml
<project xmlns:ivy="antlib:org.apache.ivy.ant" name="SuperRoot" default="prepare" basedir=".">
<property file="../release.properties"/>
<path id="ivy.lib.path">
<fileset dir="../lib" includes="*.jar"/>
</path>
<taskdef resource="org/apache/ivy/ant/antlib.xml"
uri="antlib:org.apache.ivy.ant"
classpathref="ivy.lib.path"/>
<property name="organisation" value="org.myorg"/>
<property name="build.dir" value="."/>
<property name="ivy.dir" value="build/ivy"/>
<target name="init">
<mkdir dir="build"/>
<mkdir dir="build/ivy"/>
</target>
<target name="prepare" description="Generate POM">
<ivy:settings file="../ivysettings.xml" />
<ivy:retrieve />
<!-- Optional: Intermediate file containing resolved version numbers -->
<echo message="Using repo at $repo.host "/>
<ivy:deliver deliverpattern="$ivy.dir/ivy.xml"
pubrevision="$publish.revision"
status="release"/>
<!-- Generate the Maven POM -->
<ivy:makepom ivyfile="$ivy.dir/ivy.xml"
pomfile="$build.dir/pom.xml"/>
</target>
<target name="publish" depends="init,prepare" description="Upload to Nexus">
<ivy:resolve/>
<ivy:publish organisation="org.myorg" module="commit-info"
resolver="nexus-deploy"
pubrevision="$publish.revision"
overwrite="true"
publishivy="false" >
<artifacts pattern="$build.dir/[artifact].[ext]"/>
</ivy:publish>
</target>
</project>
ant publish 创建文件并将其复制到我的存储库 (Nexus)。这不会复制“已解决”的 ivy.xml。如何发布?
【问题讨论】:
【参考方案1】:变化
publishivy="false"
到
publishivy="true "
解决了那部分。
【讨论】:
以上是关于如何将解析的 ivy.xml 发布到 Nexus的主要内容,如果未能解决你的问题,请参考以下文章
使用 Ivy-Ant 在 nexus 中发布工件:未经凭据授权?