ant打包

基本的ant打包分三步:


1、配置基本信息,比如

  (1)打包依赖的jdk,以及第三方jar等的路径。

  (2)打包的目标代码根路径

  (3)打包jar输出路径

    ......


2、配置打包的目标代码信息

  (1)先编译代码,需指定编译依赖的包,要编译的目标代码源码路径

  (2)指定编译代码输出路径

  (3)将编译的class打包,需指定用来打包的class文件路径等等信息,可包含第三方jar包的class


3、配置用于打包的class文件信息,主要是文件路径。


以下是参考例子。

 

<project basedir="../"> -- 指定根路径

	  --先配置基本信息

	 <property name="lib_out" value="${basedir}/ant/output"/>   --指定打包的class文件输出路径
	 
	 <property name="src_dir" value="${basedir}/src/com/"/>  -- 指定src的相对路径
	 
	 -- 需包含的第三方jar的解压路径
	 <mkdir dir="${basedir}/ant/libclass"/>
	 <property name="libclass_dir" value="${basedir}/ant/libclass"/>
	 
	 --指定编译代码依赖的jdk及第三方jar路径
	 <path id="compile.classpath">
	        <fileset dir="${basedir}/lib">
	            <include name="*.jar"/>
	        </fileset>
	  </path>
	  
	  
	
	 --以下配置待打包的目标代码信息  
	
	<target name="用于打包的目标代码1">  --打包的目标代码1 target1

		--先编译代码

 		<echo message="先编译"/>  

    <echo message="app代码编译"/>
    <mkdir dir="${basedir}/build/app_compiledClass_path"/>  -- 在指定目录下创建class文件存放路径
    
    -- 指定需要编译的目标代码路径
    <javac classpathref="compile.classpath" srcdir="${src_dir}"

               destdir="${basedir}/build/app_compiledClass_path"   --指定编译后的class文件存放路径
               optimize="true" debug="on"
               >
     
     	--排除不用编译的文件
     	<exclude name="**/xx.java"/>
     
               
     </javac>
               
               
     -- 将编译好的文件打包到jar        
    <echo message="打包到jar"/>
        <jar destfile="${lib_out}/app_package.jar">
            -- 指定要打包的目标class
            <fileset refid="task_files_app">   
            
            -- 包含第三方jar包的class
						<fileset refid="jar_class_file"/>
            </fileset>
        </jar>
   </target>        
   
   -- 先解压第三方jar包,然后再包含其class文件
    <unzip src="${basedir}/lib/dom4j-1.6.1.jar" dest="${libclass_dir}/">
        <patternset>
            <exclude name="**/META-INF"/>
        </patternset>
    </unzip>
    
    --编译后删除编译文件    
    <echo message="删除临时文件夹"/>
    <delete dir="${basedir}/build/app_compiledClass_path"/>   
        
    --用来打包的目标class路径 target1 
  <fileset dir="${basedir}/build/app_compiledClass_path" id="task_files_app">
        <include name="package1/p1/**/*.class"/>
        <include name="/package1/p2/**/*.class"/>
   </fileset> 
   
   --包含第三方jar包的class
   <fileset dir="${libclass_dir}" id="jar_class_file">
        <include name="*/**/*.class"/>
   </fileset>
   
   
   
   --继续编译及打包的另一部分目标代码,要和上一配置的编译打包的目标分开打包的可在以下继续配置 target2
   <target>
    ....
   </target> 
   
   -- 用来打包的目标class路径 target2
   <fileset dir='...' id='...'>
    .. 
   </fileset> 
   
   -- 继续配置编译及打包目标
   ...
   
</project>     

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值