Maven-Ant-Task 使用手记

Maven-Ant-Task 使用手记
  • 博客分类:
  • java
    Maven的依赖管理的确是个好东西。但在集成构建方面,Ant显然更好。今天试用了一下maven-ant-task这个工具,感觉非常不错。可以在ant中调用maven的依赖

首先需要定义maven-ant-task,以及maven的pom路径
Xml代码 复制代码 收藏代码
  1. <!--使用Maven2依赖管理 --> 
  2. <path id="maven-ant-tasks.classpath" 
  3.     path="lib/maven-ant-tasks-2.0.8.jar" /> 
  4. <typedef resource="org/apache/maven/artifact/ant/antlib.xml" 
  5.     uri="urn:maven-artifact-ant" 
  6.     classpathref="maven-ant-tasks.classpath" /> 
  7.  
  8. <!--定义Maven2变量--> 
  9. <artifact:pom id="maven.project" file="pom.xml" /> 
  10. <artifact:dependencies pathId="maven.classpath" 
  11.     filesetid="maven.fileset"> 
  12.     <pom refid="maven.project" /> 
  13. </artifact:dependencies> 


在编译时使用之前定义好的classpath
Xml代码 复制代码 收藏代码
  1. <javac srcdir="${src}" destdir="${build.classes}" 
  2.     classpathref="maven.classpath" /> 



一个完整的build.xml
Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <project name="elitemark-commons" default="build" 
  3.     xmlns:artifact="urn:maven-artifact-ant"> 
  4.     <description>Elitemark lightweight commons API</description> 
  5.  
  6.     <property file="build.properties" /> 
  7.  
  8.     <target name="clean" 
  9.         description="Cleans up the build artifacts and temporary directories"> 
  10.         <delete dir="${dist}" /> 
  11.         <delete dir="${build.classes}" /> 
  12.         <delete dir="${build.test}" /> 
  13.         <delete dir="${build.javadoc}" /> 
  14.     </target> 
  15.  
  16.     <target name="init"> 
  17.         <!--使用Maven2依赖管理 --> 
  18.         <path id="maven-ant-tasks.classpath" 
  19.             path="lib/maven-ant-tasks-2.0.8.jar" /> 
  20.         <typedef resource="org/apache/maven/artifact/ant/antlib.xml" 
  21.             uri="urn:maven-artifact-ant" 
  22.             classpathref="maven-ant-tasks.classpath" /> 
  23.  
  24.         <!--定义Maven2变量--> 
  25.         <artifact:pom id="maven.project" file="pom.xml" /> 
  26.         <artifact:dependencies pathId="maven.classpath" 
  27.             filesetid="maven.fileset"> 
  28.             <pom refid="maven.project" /> 
  29.         </artifact:dependencies> 
  30.     </target> 
  31.  
  32.     <target name="compile" depends="init"> 
  33.         <mkdir dir="${build.classes}" /> 
  34.         <javac srcdir="${src}" destdir="${build.classes}" 
  35.             classpathref="maven.classpath" /> 
  36.         <copy todir="${build.classes}" includeEmptyDirs="no"> 
  37.             <fileset dir="${res}"> 
  38.                 <include name="**/*" /> 
  39.             </fileset> 
  40.         </copy> 
  41.     </target> 
  42.  
  43.     <target name="jar-all"> 
  44.         <mkdir dir="${dist}" /> 
  45.         <delete file="${dist}/${artifactId}-${version}.jar" 
  46.             failonerror="false" /> 
  47.         <jar destfile="${dist}/${artifactId}-${version}.jar" 
  48.             basedir="${build.classes}" encoding="UTF-8"> 
  49.             <manifest> 
  50.                 <attribute name="Implementation-Title" 
  51.                     value="${app.name}" /> 
  52.                 <attribute name="Implementation-Version" 
  53.                     value="${versionNumber}" /> 
  54.                 <attribute name="Implementation-Vendor" 
  55.                     value="${vendor}" /> 
  56.             </manifest> 
  57.         </jar> 
  58.     </target> 
  59.  
  60.     <target name="javadoc" depends="init"> 
  61.         <mkdir dir="${build.javadoc}" /> 
  62.         <javadoc packagenames="org.elitemark.commons.*" 
  63.             sourcepath="${src}" defaultexcludes="yes" destdir="${build.javadoc}" 
  64.             author="true" version="true" use="true" windowtitle="${app.name}" 
  65.             classpathref="maven.classpath" encoding="UTF-8" docencoding="UTF-8" 
  66.             header="&lt;meta http-equiv='Content-Type' content='text/html;charset=UTF-8' /&gt;"> 
  67.             <doctitle> 
  68.                 <![CDATA[<h1>Elitemark lightweight commons API</h1>]]> 
  69.             </doctitle> 
  70.             <bottom> 
  71.                 <![CDATA[<i>Copyright &#169; 2007-2008 www.elitemark.org All Rights Reserved.</i>]]> 
  72.             </bottom> 
  73.             <link href="http://www.elitemark.org/javadoc/" /> 
  74.         </javadoc> 
  75.     </target> 
  76.  
  77.     <target name="build" depends="clean,compile"> 
  78.         <antcall target="jar-all"></antcall> 
  79.     </target> 
  80.  
  81. </project> 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值