`
woshizn
  • 浏览: 209824 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
阅读更多

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

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

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

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

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

可以成功完成需求功能。

 

<?xml version="1.0" encoding="GBK" ?>
<!-- ===================================== -->
<!-- 张楠 2010/01/12 -->
<!-- ===================================== -->

<!--default="clean"定义ant运行到target  clean这一步结束-->
<project name="projectName" default="clean" basedir="D:/work/projectName">
    <description>projectName系统发布</description>
    <!--属性设置-->
    <property environment="env" />
    <property name="src.dir" value="${basedir}/src" />
    <property name="jar.file" value="projectName.jar" />
    <property name="java.lib.dir" value="${env.JAVA_HOME}/lib" />
    <property name="build.dir" value="${basedir}/build" />
    <property name="classes.dir" value="${build.dir}/classes" />
    <property name="dist.dir" value="D:/contrib" />
        
    <!-- 基本编译路径设置 定义多个classpath-->
    <path id="compile.classpath">
        <fileset dir="${java.lib.dir}">
            <include name="tools.jar" />
        </fileset>
        <fileset dir="D:/contrib">
            <include name="*.jar" />
        </fileset>
    </path>
    
    <!-- 运行路径设置 -->
    <!--path id="run.classpath">
        <path refid="compile.classpath" />
        <pathelement location="${classes.dir}" />
    </path-->
    
    <!-- 排除java源文件的模式集 -->
    <patternset id="no.java">
        <exclude name="**/*.java" />
    </patternset>
    
    <!-- 初始化,建立目录,将多个src目录复制到同一src目录,编译,打包完成后自动清除 -->
    <target name="init" description="初始化,建立目录,复制文件">
        <mkdir dir="${classes.dir}" />
        <mkdir dir="${dist.dir}" />
        <mkdir dir="${src.dir}" />
        <copy todir="${src.dir}">
                 <fileset dir="${basedir}/path1/src">
                <include name="**/*.java" />
             </fileset>
        </copy>
        <copy todir="${src.dir}">
             <fileset dir="${basedir}/path2/src">
              <include name="**/*.java" />
           </fileset>
        </copy>
        <copy todir="${src.dir}">
             <fileset dir="${basedir}/path3/src">
              <include name="**/*.java" />
           </fileset>
        </copy>
        <copy todir="${src.dir}">
             <fileset dir="${basedir}/path4/src">
              <include name="**/*.java" />
          </fileset>
        </copy>
        <copy todir="${classes.dir}">
            <fileset dir="${src.dir}">
                <patternset refid="no.java" />
            </fileset>
        </copy>
    </target>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
长期推荐成都知名外企(英语好 C++ JAVA)
mail to:hot13399@163.com
[url]http://woshizn.iteye.com/blog/1195498[/url]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    <!-- 编译源文件-->
    <target name="compile" depends="init" description="编译源文件">
        <javac srcdir="${src.dir}" destdir="${classes.dir}" source="1.5" target="1.5">
            <classpath refid="compile.classpath" />
        </javac>
    </target>
    
    <!-- 打包类文件 -->
    <target name="jar" depends="compile" description="打包类文件">
        <jar jarfile="${dist.dir}/${jar.file}" >
            <fileset dir="${classes.dir}" includes="**/*.*" />
        </jar>
    </target>
    
    <!-- 清理,删除临时目录 -->
    <target name="clean" depends="jar" description="清理,删除临时目录">
        <delete dir="${build.dir}" />
        <delete dir="${basedir}/.settings" />
        <delete dir="${src.dir}" />
        <delete dir="${basedir}/bin" />
        <echo level="info">清理完毕</echo>
    </target>
    
    <!-- 从打包后jar的文件里运行 -->
    <!--target name="runjar" depends="jar" description="运行jar">
        <java jar="${dist.dir}/${jar.file}" fork="yes" dir="${basedir}" />
    </target-->
    
    <!-- 运行 -->
    <!--target name="run" depends="compile" description="运行">
        <java classname="powerwind.Sample" fork="yes" dir="${basedir}">
            <classpath refid="run.classpath" />
            <arg line="${param.msg}" />
        </java>
    </target-->
</project>

 
分享到:
评论
1 楼 冯健松 2017-01-13  
博主你好!
我看你这个博客里面说你得项目里面有多个源文件目录,我对多个源文件目录下java之间的调用方式是什么样的?它和只有一个源文件目录有什么区别呢?

相关推荐

    ant的build.xml模板

    `build.xml`是Ant的构建配置文件,它是Ant执行任务的蓝图,定义了一系列的构建目标和任务。文件的结构通常包括项目声明、任务定义、属性设置、目标定义以及依赖关系等部分。下面我们将逐一剖析这些关键元素。 1. **...

    ANT-build.xml命令详解

    Apache Ant 是一个Java平台上的开源构建工具,它通过XML格式的配置文件(如`build.xml`)来定义构建任务。Ant的设计理念是“简单就是美”,它使得Java项目的构建过程变得可配置且易于理解。本文将深入解析`build.xml...

    ant build.xml 使用实例

    4. **自定义构建目标**:`build.xml`可以定义多个目标,通过在命令行指定目标名来选择执行哪个目标,如`ant compile`或`ant package`。每个目标可以依赖其他目标,形成构建链。 5. **属性与属性文件**:Ant支持使用...

    ant编译java web的build.xml文件

    Apache Ant是Java领域广泛应用的一个开源构建工具,其核心在于一个名为`build.xml`的配置文件。本文将深入探讨`build.xml`文件的结构和功能,以及如何利用它来编译Java Web应用。 1. **Ant基础** Apache Ant是一种...

    ant build.xml编写

    Apache Ant是Java领域广泛应用的一个构建工具,其核心在于一个名为`build.xml`的配置文件。本文将深入探讨`build.xml`的编写及其在项目构建中的应用。 `build.xml`是Ant的工作剧本,它定义了一系列的构建任务和目标...

    ant的配置文件build.xml

    在Ant的世界中,`build.xml`是核心配置文件,它包含了项目构建的所有指令和任务。这篇内容将深入解析`build.xml`文件的结构、元素以及如何使用它来管理Java项目的构建过程。 一、`build.xml`文件结构 `build.xml`...

    ANT-build.xml文件详解.doc

    Ant 是一个广泛应用于Java项目的自动化构建工具,它的核心在于一个名为`build.xml`的XML文件,此文件定义了构建过程中的各种任务和目标,使得项目构建过程规范化、自动化。本文将深入解析`build.xml`文件的结构、...

    ant build.xml例子

    Ant是Apache组织提供的一款Java语言的构建工具,它的配置文件通常以`build.xml`为名,它是Ant工作的蓝图。这篇博客文章“ant build.xml例子”可能详细介绍了如何使用Ant来管理Java项目的构建过程。 `build.xml`文件...

    项目build.xml文件

    本文将深入探讨“项目build.xml文件”,这是一个与Ant构建工具密切相关的文件,用于规范Java项目的构建过程。 Ant是Apache软件基金会的一个开源项目,它是一个基于Java的构建工具,类似于Unix下的Make工具,但更为...

    Ant项目所需要用到的jar以及build.xml

    Apache Ant是一个广泛使用的Java构建工具,它通过XML配置文件(如`build.xml`)来定义构建过程,包括编译、打包、测试、部署等任务。这个压缩包`apache-ant-1.8.4-bin.zip`包含了Ant的二进制版本,用户可以直接解压...

    ant打jar包时, 怎么把所依赖的jar包与从源码中编译过来class文件合并成最终的一个jar?

    Ant是一个流行的Java构建工具,它允许我们通过配置XML文件(build.xml)来执行自动化构建任务,包括jar文件的创建和合并。下面我们将详细讨论如何使用Ant实现这个目标。 首先,确保你已经安装了Ant,并且在项目中...

    Eclipse中Ant的配置与测试 build.xml

    本文将详细介绍如何在Eclipse环境中配置和测试Ant,以及如何通过`build.xml`文件来管理这些任务。 #### 二、Ant简介 Apache Ant是一款开源的Java项目构建工具,它使用XML格式的脚本来定义项目的构建过程。Ant脚本...

    Ant的最完整的build.xml解释

    ### Ant的最完整的build.xml解释 #### 一、Ant简介及背景 Ant 是一款非常实用且功能强大的构建工具,主要用于Java项目的编译、测试、部署等自动化任务处理。相较于传统的Make命令工具,Ant的设计更加现代化,它...

    ant-installer.jar.zip

    Ant作为一个强大的构建工具,通过XML配置文件实现自动化构建流程,包括编译、测试、打包等,同时支持依赖管理和远程资源下载。熟练掌握Ant的使用,将极大提升开发者的工作效率,确保项目的构建过程高效且稳定。

    ant-dependencies.jar.zip

    Ant基于XML,定义了一系列的构建任务,如编译、打包、测试等,通过XML格式的构建文件(build.xml)来驱动整个项目构建。它最初是作为Java项目构建的替代方案,相对于Makefile提供了更易于跨平台的解决方案。 二、...

    Ant 编译 多目录demo

    总结,Ant编译多目录的项目,主要通过`build.xml`文件配置多个`fileset`来指定源码位置,然后使用`&lt;javac&gt;`任务进行编译。理解并熟练掌握Ant的配置方式,能帮助开发者高效地管理复杂的项目构建过程。

    ant-launcher.jar.zip

    Ant的核心功能包括编译源代码、打包、运行测试、部署应用等,它通过任务(Tasks)实现这些操作,每个任务都是一个特定构建步骤的实现。 Ant-Launcher.jar是Ant的一部分,它是Ant的启动器,负责执行Ant的主类`org....

    ant编译以及格式

    1. **配置build.xml**:首先,你需要创建或编辑一个名为build.xml的文件,这是Ant的工作说明书。在这个文件中,你会定义目标(target),每个目标代表一个具体的构建任务。 2. **定义属性(Properties)**:在build...

    ant-build_xm文件说明,对用ant构建进行了详细的说明!

    Ant通过XML文件(通常命名为build.xml)来定义构建过程,包括编译、测试、打包和部署等任务。在本文中,我们将深入探讨Ant构建文件(build.xml)中的各个关键字及其用法。 首先,我们要理解Ant构建文件的基本结构。...

Global site tag (gtag.js) - Google Analytics