`

ant配置build.xml 指定多个classpath 编译多个src目录

    博客分类:
  • JAVA
 
阅读更多

因为项目需求,需要自动编译,打包源文件。通过eclipse导出功能,不能实现自动 编译,打包。

即决定用ant来完成,(ant可以通过 批处理文件调用)

因为项目架构比较特殊,有path1/src,path2/src,path3/src 多个同级源文件目录。

而且需要多个classpath目录,存放着需要用到的jar包。

在网上搜索,多是简单的ant配置,而后几经折磨,得到如下配置。

可以成功完成需求功能。

 

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="GBK" ?>  
  2. <!-- ===================================== -->  
  3. <!-- 张楠 2010/01/12 -->  
  4. <!-- ===================================== -->  
  5.   
  6. <!--default="clean"定义ant运行到target  clean这一步结束-->  
  7. <project name="projectName" default="clean" basedir="D:/work/projectName">  
  8.     <description>projectName系统发布</description>  
  9.     <!--属性设置-->  
  10.     <property environment="env" />  
  11.     <property name="src.dir" value="${basedir}/src" />  
  12.     <property name="jar.file" value="projectName.jar" />  
  13.     <property name="java.lib.dir" value="${env.JAVA_HOME}/lib" />  
  14.     <property name="build.dir" value="${basedir}/build" />  
  15.     <property name="classes.dir" value="${build.dir}/classes" />  
  16.     <property name="dist.dir" value="D:/contrib" />  
  17.           
  18.     <!-- 基本编译路径设置 定义多个classpath-->  
  19.     <path id="compile.classpath">  
  20.         <fileset dir="${java.lib.dir}">  
  21.             <include name="tools.jar" />  
  22.         </fileset>  
  23.         <fileset dir="D:/contrib">  
  24.             <include name="*.jar" />  
  25.         </fileset>  
  26.     </path>  
  27.       
  28.     <!-- 运行路径设置 -->  
  29.     <!--path id="run.classpath">  
  30.         <path refid="compile.classpath" />  
  31.         <pathelement location="${classes.dir}" />  
  32.     </path-->  
  33.       
  34.     <!-- 排除java源文件的模式集 -->  
  35.     <patternset id="no.java">  
  36.         <exclude name="**/*.java" />  
  37.     </patternset>  
  38.       
  39.     <!-- 初始化,建立目录,将多个src目录复制到同一src目录,编译,打包完成后自动清除 -->  
  40.     <target name="init" description="初始化,建立目录,复制文件">  
  41.         <mkdir dir="${classes.dir}" />  
  42.         <mkdir dir="${dist.dir}" />  
  43.         <mkdir dir="${src.dir}" />  
  44.         <copy todir="${src.dir}">  
  45.                  <fileset dir="${basedir}/path1/src">  
  46.                 <include name="**/*.java" />  
  47.              </fileset>  
  48.         </copy>  
  49.         <copy todir="${src.dir}">  
  50.              <fileset dir="${basedir}/path2/src">  
  51.               <include name="**/*.java" />  
  52.            </fileset>  
  53.         </copy>  
  54.         <copy todir="${src.dir}">  
  55.              <fileset dir="${basedir}/path3/src">  
  56.               <include name="**/*.java" />  
  57.            </fileset>  
  58.         </copy>  
  59.         <copy todir="${src.dir}">  
  60.              <fileset dir="${basedir}/path4/src">  
  61.               <include name="**/*.java" />  
  62.           </fileset>  
  63.         </copy>  
  64.         <copy todir="${classes.dir}">  
  65.             <fileset dir="${src.dir}">  
  66.                 <patternset refid="no.java" />  
  67.             </fileset>  
  68.         </copy>  
  69.     </target>  
  70. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  71. 长期推荐成都知名外企(英语好 C++ JAVA)  
  72. mail to:hot13399@163.com  
  73. [url]http://woshizn.iteye.com/blog/1195498[/url]  
  74. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  75.     <!-- 编译源文件-->  
  76.     <target name="compile" depends="init" description="编译源文件">  
  77.         <javac srcdir="${src.dir}" destdir="${classes.dir}" source="1.5" target="1.5">  
  78.             <classpath refid="compile.classpath" />  
  79.         </javac>  
  80.     </target>  
  81.       
  82.     <!-- 打包类文件 -->  
  83.     <target name="jar" depends="compile" description="打包类文件">  
  84.         <jar jarfile="${dist.dir}/${jar.file}" >  
  85.             <fileset dir="${classes.dir}" includes="**/*.*" />  
  86.         </jar>  
  87.     </target>  
  88.       
  89.     <!-- 清理,删除临时目录 -->  
  90.     <target name="clean" depends="jar" description="清理,删除临时目录">  
  91.         <delete dir="${build.dir}" />  
  92.         <delete dir="${basedir}/.settings" />  
  93.         <delete dir="${src.dir}" />  
  94.         <delete dir="${basedir}/bin" />  
  95.         <echo level="info">清理完毕</echo>  
  96.     </target>  
  97.       
  98.     <!-- 从打包后jar的文件里运行 -->  
  99.     <!--target name="runjar" depends="jar" description="运行jar">  
  100.         <java jar="${dist.dir}/${jar.file}" fork="yes" dir="${basedir}" />  
  101.     </target-->  
  102.       
  103.     <!-- 运行 -->  
  104.     <!--target name="run" depends="compile" description="运行">  
  105.         <java classname="powerwind.Sample" fork="yes" dir="${basedir}">  
  106.             <classpath refid="run.classpath" />  
  107.             <arg line="${param.msg}" />  
  108.         </java>  
  109.     </target-->  
  110. </project>  
  111.   
  112.    
分享到:
评论

相关推荐

    ant1.9资源

    同时在antstudy工程的根目录下建立build.xml文件,在该文件中编译src目录下的java文件,并将编译后的class文件放入build/classes目录中,在编译前,需清除classes目录,该文件的内容如下: &lt;?xml version="1.0"?&gt; ...

    iuhyiuhkjh908u0980

    教程包含基本的步骤像创建目录结构,建立build.xml文件来使用Ant构建工具创建程序.接着我们会解释在这个程序中需要的Java,Jsp和配置文件. 创建项 ... by Checkmate 2009-03-23 回复 (6) ivy中文参 ... 安装ivy主要有...

    hadoop-eclipse-plugin-1.1.2.jar

    首先将 ${HADOOP_HOME}\src\contrib 下面的 build-contrib.xml 复制到 ${HADOOP_HOME}\src\contrib\eclipse-plugin 下面 然后修改 build-contrib.xml文件 ${basedir}"/&gt; &lt;property name="hadoop.root" location=...

    hadoop1.1.2 eclipse 插件

    将build-contrib.xml复制到D:\hadoop-1.1.2\src\contrib\eclipse-plugin目录下。 将 Xml代码 ${ant.project.name}"/&gt; ${basedir}"/&gt; &lt;property name="hadoop.root" location="${root}/../../../"/&gt; ${ant....

    JNSP (java network service platform)

    1. 可以使用 ant 工具指定目录下 build.xml 文件,编译. 2. TestServerAssistant 是模拟一个第三方的服务,可以采用这个方式启动 java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/...

    jocky 混肴编译rar包(ant和插件俩个版本)

    事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant Build 文件示例: 1 ...

    struts2.0 第五章 第1,2节

    ant build -- 编译程序 ant run --运行程序 2. 对于Web应用,将该应用复制到%TOMCAT_HOME%/webapps路径下,然后进入build.xml所在路径,执行如下命令: ant build -- 编译应用 启动Tomcat服务器,使用浏览器...

    struts 2.0 源码 第三章

    ant build -- 编译程序 ant run --运行程序 2. 对于Web应用,将该应用复制到%TOMCAT_HOME%/webapps路径下,然后进入build.xml所在路径,执行如下命令: ant build -- 编译应用 启动Tomcat服务器,使用浏览器...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    7.3.2 配置文件build.xml 7.3.3 编译源代码 7.3.4 创建JAR文件 7.4 小结 第八章 JUnit使用指南 8.1 JUnit介绍 8.1.1 JUnit简介 8.1.2 为什么要使用JUnit 8.2 建立JUnit的开发环境 8.2.1 下载JUnit 8.2.2 配置JUnit ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    7.3.2 配置文件build.xml 7.3.3 编译源代码 7.3.4 创建JAR文件 7.4 小结 第八章 JUnit使用指南 8.1 JUnit介绍 8.1.1 JUnit简介 8.1.2 为什么要使用JUnit 8.2 建立JUnit的开发环境 8.2.1 下载JUnit 8.2.2 配置JUnit ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    7.3.2 配置文件build.xml 7.3.3 编译源代码 7.3.4 创建JAR文件 7.4 小结 第八章 JUnit使用指南 8.1 JUnit介绍 8.1.1 JUnit简介 8.1.2 为什么要使用JUnit 8.2 建立JUnit的开发环境 8.2.1 下载JUnit 8.2.2 配置JUnit ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    7.3.2 配置文件build.xml 7.3.3 编译源代码 7.3.4 创建JAR文件 7.4 小结 第八章 JUnit使用指南 8.1 JUnit介绍 8.1.1 JUnit简介 8.1.2 为什么要使用JUnit 8.2 建立JUnit的开发环境 8.2.1 下载JUnit 8.2.2 配置JUnit ...

    Java通用代码生成实用程序XDoclet(源码包)

    在指定的目录中生成文件InvitedCarrierModel.hbm.xml,代码如下: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" ...

    fckedit编辑器

    然后将FCKeditor-2.3.zip(java)压缩包中\web\WEB-INF\lib\目录下的两个jar文件拷到项目的\WEB-INF\ lib\目录下把其中的src目录下的FCKeditor.tld文件copy到TestFCKedit/WEB-INF/下 4.合并web.xml: 将FCKeditor-...

    helloworld_war_ant:带有构建的Ant示例

    Helloworld战争Java WAR项目/模板项目的示例包含: Helloworld Servlet(使用注释) 静态html文件示例最基本的web.xml 编译时servlet-api.jar(因此不需要Java EE) 用于构建WAR的Ant build.xml 使用slf4j-api和sl4j...

    TestNG安装包

    TestNG是一个Java的框架,所以第一个要求是JDK要安装在你的机器上。 系统要求 JDK 1.5或以上 内存 没有最低要求 磁盘空间 没有最低要求 操作系统 没有最低要求 步骤1 -验证Java安装在你的机器上 现在,打开...

    java 混淆工具,不可逆 jocky 也许是最好的了

    事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant Build 文件示例: ...

    joc eclipse plugin

    事实上,在Eclipse中使用Jocky时,Jocky也是首先针对所选工程生成Ant的Build文件(默认名称jocky_build.xml),然后再通过Ant完成混淆编译。 以下是Jocky在Eclipse中自动生成的Ant Build 文件示例: ...

    新版Android开发教程.rar

    o Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows o Not Not Not Not compatible with Gnu Compiler for Java (gcj) Note: Note: Note: Note: If JDK is already installed on your ...

    Fortify-SCA-扫描工具指导手册.pdf

    ●编译监控器方式: Fortify SCA Build Monitor FORTIFY Fortify SCA扫描的四个步骤 Fortify SCA扫描总共可以分为四个步骤: ●1. Clean:清除阶段: sourceanalyzer -b proName -clean 2. Translation:转换阶段 3.ShoW...

Global site tag (gtag.js) - Google Analytics