现在的位置: 首页 > 综合 > 正文

maven ant 部署打包

2014年07月16日 ⁄ 综合 ⁄ 共 5145字 ⁄ 字号 评论关闭

<?xml version="1.0"?>
<project default="build_standardsm">
 <import file="maven-build.xml"/> 
   <property name="src.main.java.dir" value="src/main/java" />
   <property name="src.main.resources.dir" value="src/main/resources" />
   <property name="src.test.java.dir" value="src/test/java" />
 <property name="src.test.resources.dir" value="src/test/resources" />
 <!-- 一些配置文件源路径 -->
 <property name="src.main.webapp.dir" value="src/main/webapp"/>
 <!-- 目标根路径 -->
 <property name="build.dir" value="D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps/fgjj2"/>
 <!-- 编译目标路径 -->
 <property name="build_compile.dir" value="${build.dir}/WEB-INF/classes"/>
 <!-- jar包目标路径 -->
 <property name="build_lib.dir" value="${build.dir}/WEB-INF/lib" />
 <!-- 用于混淆的临时路径 -->
 <property name="build_lib_obfuscate.dir" value="${build.dir}/lib_obfuscate"/>
 <!-- 初始化任务 -->
 <target name="init" description="init">
  <!-- 删除 -->
  <delete dir="${build_compile.dir}"/>  
  <delete dir="${build_lib.dir}"/>  
  <mkdir dir="${build_compile.dir}"/>
  <mkdir dir="${build_lib.dir}"/> 
 </target>
 
 <!-- 编译到build下的classes -->
 <target name="compile" depends="init">
  <javac destdir="${build_compile.dir}"
          source="1.6"
          target="1.6"
          debug="true"
          deprecation="false"
          optimize="false"
    encoding="GBK"
          failonerror="true"
    includeantruntime="false">
   <src path="${src.main.java.dir}:${src.main.resources.dir}" />
   <classpath refid="build.classpath" />
  </javac>
 </target>

 <!-- 编译到build下的classes_test -->
 <target name="compile_test" depends="init">
  <javac destdir="${build_compile.dir}"
          source="1.6"
          target="1.6"
          debug="true"
          deprecation="false"
          optimize="false"
    encoding="GBK"
          failonerror="true"
    includeantruntime="false">
   <src path="${src.main.java.dir}:${src.test.java.dir}" includes="build.classpath" />
   <classpath refid="build.classpath" />
  </javac>
 </target>
 
 <!-- 将类打包成jar到目标路径 -->
 <target name="classes_jar" depends="compile">
     <jar jarfile="${build_lib.dir}/${maven.build.finalName}.jar"
          compress="true"
          index="false"
          basedir="${build_compile.dir}"
          excludes="**/package.html"/>
 </target>

 <!-- 将类打包成jar到目标路径 -->
 <!--<target name="classes_jar_test" depends="compile_test">
     <jar jarfile="${build_lib.dir}/${maven.build.finalName}-test.jar"
          compress="true"
          index="false"
          basedir="${build_compile.dir}"
          excludes="**/package.html"/>
 </target>
 -->
 <!-- 拷贝类库到目标路径 -->
 <target name="lib_copy" depends="init">
  <copy todir="${build_lib.dir}" flatten="true">
   <path refid="build.classpath"/>
  </copy>
 </target>
 
 <!-- 拷贝配置文件到目标路径 -->
 <target name="resources_copy" depends="init" description="copy the config files">
  <!-- 拷贝src.main.resources.dir到目标路径 -->
  <copy todir="${build_compile.dir}" includeEmptyDirs="yes">
   <fileset dir="${src.main.resources.dir}">
    <patternset>
     <include name="config/" />
     <include name="web/" />
     <!--<include name="web/*.properties" />
     <include name="web/*.db" />     
     <include name="web/dal/oracle/*.xml" />
     <include name="web/dal/oracle/hbm/gjsystem/*.xml" />
     <include name="web/dal/oracle/hbm/mmsbill/*.xml" />
     <include name="web/dal/oracle/hbm/monitor/*.xml" />
     <include name="web/dal/oracle/hbm/purview/*.xml" />     
     <include name="web/blf/business/*.xml"/>
     <include name="web/bll/*.xml"/>-->
     <include name="applicationContext-init.xml" />     
    </patternset>
   </fileset>
  </copy>   
 </target>

 <!-- 拷贝配置文件到目标路径 -->
 <target name="webapp_copy" depends="init" description="copy the config files"> 
  <!--拷贝src.main.webapp.dir到目标路径  -->
  <copy todir="${build.dir}">   
   <fileset dir="${src.main.webapp.dir}">    
    <patternset>
     <include name="CSS/" />
     <include name="ext/" />
     <include name="*extjs2.2/" />
     <include name="*Images/"/>
     <include name="JS/"/>  
     <include name="META-INF/"/>
     <include name="*.html"/>
     <include name="*.jsp"/>
     <include name="*.htm"/>      
    </patternset>
   </fileset>
  </copy>  
 </target>
 <!-- 拷贝配置文件到目标路径 -->
 <target name="web.xml_copy" depends="init" description="copy the config files">    
  <!--拷贝web.xml到目标路径  -->
  <copy todir="${build.dir}/WEB-INF">   
   <fileset dir="${src.main.webapp.dir}/WEB-INF">    
    <patternset>
     <include name="web.xml" />         
    </patternset>
   </fileset>
  </copy>  
 </target>
 <target name="delete" description="init">
  <delete dir="${build.dir}"/>
 </target>
 <!-- 执行标准平台build操作 -->
 <target name="build_standardsm" depends="delete,init,compile,lib_copy,resources_copy,webapp_copy,web.xml_copy"/> 
 <!-- 执行代码混淆,只混淆lib/tech_*.jar -->
 <target name="obfuscate">
  <!--初始化混淆目标路径-->
  <delete dir="${build_lib_obfuscate.dir}"/>
  <mkdir dir="${build_lib_obfuscate.dir}"/>
  <!--引入proguard task-->
  <taskdef resource="proguard/ant/task.properties"/>
  <!--执行混淆-->
  <proguard ignorewarnings="true" configuration="library.pro">
   <injar path="${build_lib.dir}" jarfilter="tech_*.jar"/>
   <outjar file="${build_lib_obfuscate.dir}"/>
   <libraryjar file="${build_lib.dir}"/>
   <libraryjar file="${java.home}/lib/rt.jar"/>
   -printmapping ${build.dir}/obfuscation.map
  </proguard>
  <!--混淆后的jar覆盖原有jar -->
  <copy todir="${build_lib.dir}" overwrite="true">
   <fileset dir="${build_lib_obfuscate.dir}"/>
  </copy>
 </target>

</project>

抱歉!评论已关闭.