1

我们将 Ant 与 Ivy 一起使用,我想嵌入到我们创建的 jars 和 wars 中pom.xmlpom.properties就像您使用 Maven 时看到的一样。pom.xml从文件创建一个任务ivy.xml非常简单<ivy:makepom>。可以通过<xmlproperty>任务来获取 artifactId 和 gorupId。但是,如何创建pom.properties文件。那有必要吗?

4

1 回答 1

2

好的,在浏览文档时,我发现它比我想象的要容易得多。Ivy 生成了很多可以使用的属性。我还发现该pom.xml文件只包含groupId,artifactIdversion,所以生成起来并不难。

这是我所做的:

<target name="package" depends="compile">

    <!-- Make the pom.xml -->
    <ivy:makepom ivyfile="${ivy.resolved.file}"
        pomfile="${target.dir}/pom.xml"/>

    <!-- Make the pom.properties file -->
    <echo file="${target.dir}/pom.properties">
# Generated by Maven NOT!
# ${build.date}
version=${ivy.revision}
groupId="${ivy.organisation}
artifactId="${ivy.module}
    </echo>

<!-- Build your JAR or whatever -->

    <jar destfile="${target.dir}/{ant.project.name}.jar"
         basedir="${main.destdir}">
         <manifest>
              <section name="Build-Information">
                  <attribute name="Project" value="${env.JOB_NAME}"/>
                  <attribute name="Build-Number" value="${env.BUILD_NUMBER}"/>
                  <attribute name="Build-Date" value="${build.date}"/>
              </section>
         </manifest>
         <zipfileset dir="${target.dir}"
              prefix="$META-INF/maven/${ivy.organisation}/${ivy.module}">
              <include name="pom.xml"/>
              <include name="pom.properties"/>
         </zipfileset>
     </jar>
</target>

这有助于使 Ivy 与 Maven 非常兼容。

于 2012-08-10T21:16:12.977 回答