`
shonghuanc
  • 浏览: 84297 次
文章分类
社区版块
存档分类
最新评论

Eclipse中使用ANT

阅读更多
前言

  ant是java开发者工具箱的重要一环,junit,xdoclet等都与它紧密关联,程序员可能习惯了IDE提供的自动构建,甚至部署的功能,从而忽略了ant本身,其实,主流的IDE通常是内置ant任务来完成这些工作的,熟悉ant内在的机理,可以阅读或简单修改build.xml无疑可以帮助你更灵活地集成、管理应用项目,如果需要学习maven这种开源项目管理解决方案,也是要以理解ant为基础的哟。另外,使用ant的过程实际上对构建进行了文档化,它是无关于IDE的,想象一下,你的同事中可能三分之一在用JbuilderX,三分之一用eclipse,还有一些是别的。

  本人使用eclipse3.0.1,以前的构建和发布工作都由myeclipse插件作了,趁周末实践了一下手动构建,记此备忘。

  实践

  准备工作:这是我的个人习惯,把所有公用的类库jar置于一个固定目录,分好类,不要丢在一个文件夹下,如jakarta-commons、hibernate、spring、struts等,这些是源码构建时需要用到的,在部署时可能有一些不用再打进去了,比如servlet.jar。如果你们有自己的framework,也一并放在这里。然后,打开eclipse,进入Windows->Preferences->Java->User Libraries,增加一个自己的库,比如说mylib,把刚才那些公共的jar全部添入,这样有个好处,在eclipse项目中,不用再看到烦人的长长的jar列表了,比较整洁。

  下来正式进行:

  1.新建一个Java Project,此时就不要再选你的j2ee插件内置的一些选项了,至简即可。

  2.在root下建几个文件夹,我们在网上下载的开源项目中经常可以看到这些,比如:

  src - 源码
  classes - 编译
  web - jsp等
  lib - 库,这里可以简单地把mylib下的东东copy过来,便于将来发布源码。
  dlist - 输出的jar或war

  当然,我们要建一个build.xml,eclipse中会出现一个蚂蚁的小图标,一般这个文件建立后,下一个项目简单的copy过去,稍加改动就可以了。

  3.打开项目的属性页,在Java Build Path的库选项中,加入我们自定义的公共库mylib.至于Builders方式就不用改了,使用默认的Java Builer即可,我只是项目部署时使用ant,平常的排错工作就交给IDE吧。

  4.重中之重,写你的build.xml,网上文章很海,我这里就不再啰嗦了,基本上就分那几个任务:

  4.1 先要声明一些路径变量,如

  <property name="war.dir" value="dlist" />

  也可以将其写至properties文件中,在这里引用;

  4.2 声明编译的类路径,如下:

  <path id="master-classpath">
  <fileset dir="${lib.root}/struts">
  <include name="struts-menu-2.3.jar" />
  <include name="struts.jar" />
  </fileset>
  <fileset dir="${lib.root}/jakarta-commons">
  <include name="commons-*.jar" />
  </fileset>
  <fileset dir="${lib.root}/ibatis2.0.9">
  <include name="ibatis-*.jar" />
  </fileset>
  <fileset dir="${lib.root}/jdbcdriver">
  <include name="jtds-0.9-rc2.jar" />
  </fileset>s
  ......
  </path>

  4.3 清空输出目录,如web,dlist等。

  4.4 编译构建:

  <target name="build" description="Compile main source tree java files into class files, generate jar files">

  <mkdir dir="${build.dir}" />

  <javac destdir="${build.dir}" source="1.3" target="1.3" debug="true" deprecation="false" optimize="false" failonerror="true">
  <src path="${src.dir}" />
  <classpath refid="master-classpath" />
  </javac>

  <copy todir="${build.dir}" preservelastmodified="true">
  <fileset dir="${src.dir}">
  <include name="**/*.xml" />
  <include name="**/*.properties" />
  </fileset>
  </copy>
  <!-- ============================================= -->
  <!-- 据测试,资源文件不能被打到jar文件中,其余均可 -->
  <!-- ============================================= -->
  <copy todir="${webclasses.dir}/conf" preservelastmodified="true">
  <fileset dir="${src.dir}/conf">
  <include name="springResources*.properties" />
  </fileset>
  </copy>

  <mkdir dir="${weblib.dir}" />

  <jar jarfile="${weblib.dir}/${name}.jar" compress="true">
  <fileset dir="${build.dir}">
  <include name="**" />
  </fileset>
  </jar>

  <copy todir="${weblib.dir}" preservelastmodified="true">

  <fileset dir="${lib.root}">
  <include name="log4j-1.2.8.jar" />
  </fileset>
  <fileset dir="${lib.root}/struts">
  <include name="struts-menu-2.3.jar" />
  <include name="struts.jar" />
  </fileset>
  <fileset dir="${lib.root}/jakarta-commons">
  <include name="commons-*.jar" />
  </fileset>
  <fileset dir="${lib.root}/spring-1.1.3">
  <include name="spring.jar" />
  <include name="aopalliance.jar" />
  </fileset>
  ......

  </copy>

  </target>

  <!-- ============================================= -->
  <!-- Compile main Java sources and copy libraries -->
  <!-- ============================================= -->
  <target name="warfile" description="Build the web application archive">

  <mkdir dir="${dist.dir}" />
  <war warfile="${dist.dir}/${name}.war" basedir="${war.dir}" webxml="${war.dir}/WEB-INF/web.xml">
  <include name="*" />
  <include name="WEB-INF/*.*" />
  <exclude name="WEB-INF/web.xml" />
  <include name="WEB-INF/classes/*.*" />
  <include name="WEB-INF/lib/**" />
  <exclude name="**/.*" />
  </war>

  </target>


  4.5 打成war

  <target name="warfile" description="Build the web application archive">

  <mkdir dir="${dist.dir}" />
  <war warfile="${dist.dir}/${name}.war" basedir="${war.dir}" webxml="${war.dir}/WEB-INF/web.xml">
  <include name="*" />
  <include name="WEB-INF/*.*" />
  <exclude name="WEB-INF/web.xml" />
  <include name="WEB-INF/classes/*.*" />
  <include name="WEB-INF/lib/**" />
  <exclude name="**/.*" />
  </war>

  </target>

  4.6 把几个任务串起来,弄一个default target

  <target name="all">
  <antcall target="clean" />
  <antcall target="bu

  


ild" />
  <antcall target="warfile" />
  </target>

  打完收功。在实践中发现,一些配置文件,如struts-config.xml ibatis和spring的xml都可以打进jar文件,spring资源文件好象不行,得单独copy至WEB-INFclasses下,另外,你的web文件夹下,事先得放好web.xml,以及一些tld文件哟。



环境变量配置:ANT_HOME    C:\ant
            CLASS_PATH  .;%JAVA_HOME%\lib;%ANT_HOME%\lib;
            PATH        .;%JAVA_HOME%\bin;%ANT_HOME%\bin;
            JAVA_HOME   C:\Program Files\Java\jdk1.6.0
分享到:
评论

相关推荐

    Eclipse中使用Ant

    ### Eclipse中使用Ant详解 #### 引言 在软件开发领域,自动化构建工具的重要性不言而喻,它们能够显著提高开发效率,减少人为错误。Ant作为一款基于Java平台的批处理构建工具,自诞生以来便受到广泛欢迎。本文将...

    在eclipse中使用ant灵活构建web应用.docx

    ### 在Eclipse中使用Ant灵活构建Web应用 #### 一、引言 随着软件开发的不断进步和技术的迭代更新,构建工具的选择对于提高开发效率、简化项目管理具有重要意义。Ant作为一款老牌且功能强大的Java构建工具,至今仍被...

    Using ANT in Eclipse

    本文档旨在指导如何在Eclipse集成开发环境中使用Apache ANT作为构建工具。ANT是一个流行的Java项目构建系统,它基于XML,允许开发者定义构建过程的步骤和依赖关系。以下是对Eclipse与ANT集成的关键知识点的详细说明...

    使用 Eclipse 和 Ant 进行 Python 开发

    要在 Eclipse 中使用 Ant,首先需要创建 build.xml 文件,并定义必要的目标和任务。例如,你可以创建一个目标用于运行测试,另一个目标用于创建源代码的归档文件。以下是一个简单的 build.xml 示例: ```xml ...

    Eclipse之ANT使用

    这些变量可以在整个 build.xml 文件中使用,以便于自定义任务的执行过程。 在 target 中,我们可以使用多种 task 来执行不同的任务,例如 javac 任务可以编译 Java 源文件,junit 任务可以执行测试,jar 任务可以...

    ant编译的文件要在eclipse中编译需要的jar文件

    这样,你就可以在Eclipse中使用Ant来编译Tomcat项目,或者任何其他依赖这些特定库的项目。通过这种方式,你可以充分利用Eclipse的强大功能,同时保持Ant提供的灵活性和控制力。记住,配置好后,你可以通过Eclipse的...

    eclipse下利用ant、junit进行自动化测试例子源码

    本示例主要展示了如何在Eclipse集成开发环境中利用ANT构建工具和JUnit单元测试框架进行自动化测试。以下是关于这些知识点的详细说明: 1. **Eclipse IDE**:Eclipse是一款流行的开源Java开发环境,支持多种语言的...

    Eclipse快速上手指南之使用ANT.pdf

    根据给定的文件标题、描述以及部分内容,我们将深入探讨如何在Eclipse中使用Apache Ant进行自动化构建。Apache Ant是一款开源的Java工具,用于自动化软件构建过程中的任务,如编译、测试、打包和部署等。它通过XML...

    Ant 入门讲解视频

    在 Eclipse 中使用 ant; 4. 手工使用 ant; 5. 在 Netbeans 中使用 ant. 文件: ant.exe 7.65 MB 视频 22分3秒 AntTest.zip 6.76 KB 项目文件 ant.ppt 155 KB 从网上找的 PPT ant.png 视频截图...

    Eclipse 中的 Ant 自动运行

    在IT行业中,Eclipse是一款广泛使用的Java集成开发环境(IDE),它提供了丰富的功能来支持软件开发。本篇文章将深入探讨...理解和熟练使用这两个文件,能够帮助开发者更好地管理和优化在Eclipse中的Ant构建过程。

    Eclipse PDE Export ANT Script (CI)

    在软件开发的持续集成(CI)环境中,Eclipse PDE Export ANT Script是一种非常有用的技术,它允许开发者通过ANT构建脚本来自动化插件的打包和发布过程。 ANT是Apache开源组织提供的一款Java项目构建工具,它使用XML...

    eclipse中如何使用ANT

    - `<property>`:定义构建过程中使用的变量,如源代码路径、输出路径等。 - `<target>`:定义具体的构建目标,每个目标可以包含多个子任务。 - `<javac>`:用于编译Java源代码。 - `<jar>`:用于创建jar包。 - ...

    Eclipse下使用ANT编译提示OutOfMemory的解决方法

    但当在Eclipse中使用ANT时,这种方式并不适用,因为Eclipse会使用自己的JVM实例来运行ANT任务。因此,我们需要在Eclipse的设置中进行调整。 以下是具体步骤: 1. 打开Eclipse,进入“Window”菜单,然后选择...

    使用Ant技术打包

    在Eclipse中使用Ant进行打包,首先需要在项目上创建一个名为`build.xml`的文件。这个文件是Ant的构建脚本,遵循XML格式,定义了项目的构建过程。例如,以下是一个简单的`build.xml`文件示例: ```xml ${app.dir...

    Eclipse下Ant+Junit构建文件

    本话题将深入探讨如何在Eclipse集成开发环境中利用Ant和JUnit进行项目构建与测试,以提升开发效率和代码质量。 首先,Eclipse是一款广泛使用的Java IDE,它提供了丰富的功能来支持开发人员进行代码编写、调试和项目...

Global site tag (gtag.js) - Google Analytics