2012-08-10 1 views
1

Ant를 Ivy와 함께 사용하고 생성 된 jar와 war 파일에 pom.xmlpom.properties 파일 만 삽입하고 싶습니다. Maven을 사용했는지 알 수 있습니다. ivy.xml 파일에서 pom.xml을 만드는 작업은 <ivy:makepom> 작업으로 매우 간단합니다. artifactId 및 gorupId를 가져 오는 작업은 <xmlproperty> 작업을 통해 수행 할 수 있습니다. 그러나 pom.properties 파일을 만들려면 어떻게해야합니까? 그게 필요한가요?Ant/Ivy를 사용하여 pom.xml 및 pom.properties 파일을 만들고 jar/war 파일에 포함

답변

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> 

이 메이븐 꽤 호환 아이비에게 사용하게 할 수 있습니다.