1

pom.xml私たちは Ivy で Ant を使用しています。Maven を使用した場合と同じように、作成した jar と warsとファイルに埋め込みたいと思いpom.propertiesます。pom.xmlファイルからを作成するのは、このタスクivy.xmlでは非常に簡単です。<ivy:makepom>artifactId と gorupId の取得は、<xmlproperty>タスクを介して行うことができます。pom.propertiesただし、ファイルを作成するにはどうすればよいですか。それは必要ですか?

4

1 に答える 1

2

さて、ドキュメントを読んでいるうちに、思ったよりもはるかに簡単であることがわかりました. Ivy は、使用できる多くのプロパティを生成します。また、pom.xmlファイルにはgroupIdartifactIdおよびのみが含まれているversionため、生成するのはそれほど難しくありません。

これが私がしたことです:

<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 に答える