`

Eclipse中集成和调试Ant工程

阅读更多

作者:cheungmine  发布于2012-5-10

 

摘要:使用Ant来构建 Java小型或大型项目的好处是不言而喻的。本文展示如何在Eclipse里集成Ant的工程,并配置使能调试Ant构建脚本build.xml 和.java源代码文件。一般我们把使用Ant构建的Java项目导入到Eclipse里时,会遇到这个问题:调试Ant的build.xml脚本和指定 使用哪个Ant的任务(task)来调试java源代码文件。

1 快速从0开始搭建Eclipse+Ant环境

为简单起见,本文的Eclipse开发环境采用nvidia提供的一键式组合开发包Tegra Android Developer Pack (NVPACK),在下面的网址中可以下载你需要的版本:

http://developer.nvidia.com/tegra-resources

我选择了:Tegra Android Developer Pack 1.0r7 ,它包含了下面的开发组件:

  • Android SDK r18

  • Android NDK r7c

  • JDK 6u24

  • Cygwin 1.7

  • Eclipse 3.7.1

  • CDT 8.0.0

  • ADT 15.0.0

  • Apache Ant 1.8.2

  • NVIDIA Debug Manager for Eclipse 12.0.0

  • Tegra Sample Code

在Ubuntu下如何安装这个NVPACK,请参考文章:

一键解决Ubuntu下安装Eclipse Android/C/C++ 开发环境

2 创建一个简单的Ant工程

例子工程zebra的目录结构如下:

 
[plain] view plaincopyprint?

    zebra/  
        -----build.xml  
        +----src/  
             +----org/  
                  +----cheungmine/  
                       +----study/  
                            ----Main.java

build.xml的内容如下:

  
[html] view plaincopyprint?

    <span style="font-size:12px;color:#333333;"><?xml version="1.0" encoding="UTF-8"?>  
    <project name="zebra" default="compile">  
        <description>My first complete build file, including packaging and executing a Java program.</description>  
        <target name="init" description="Create the output directories">  
            <mkdir dir="build/classes"/>  
            <mkdir dir="dist"/>  
        </target>  
      
        <target name="compile" depends="init" description="Compiles into the output directories">  
            <javac srcdir="src" debug="true" destdir="build/classes" includeantruntime="false"></javac>  
        </target>  
      
        <target name="package" depends="compile" description="Creates the JAR package files">  
            <jar destfile="dist/zebra.jar" basedir="build/classes"></jar>  
        </target>  
      
        <target name="clean" description="Delete the output directories">  
            <delete dir="build"/>  
            <delete dir="dist"/>  
        </target>  
          
        <target name="exec" depends="compile" description="Running programs under Ant">  
            <!-- $ java -cp build/classes org.cheungmine.study.Main hello world . -->  
            <java classname="org.cheungmine.study.Main" classpath="build/classes">  
                <arg value="hello"/>  
                <arg value="world"/>  
                <!--   
                    the following arg uses the file attribute, which tells Ant to resolve   
                    that attribute to an absolute file location before calling the program.  
                -->  
                <arg file="."/>  
            </java>  
            <!--  
            <echo level="verbose" message="running"/>  
            <echo level="info" message="running"/>  
            <echo level="warning" message="running"/>  
            <echo level="error" message="running"/>  
            -->  
        </target>  
    </project></span>                          

Main.java的内容如下:

 
[java] view plaincopyprint?

    package org.cheungmine.study;  
    public class Main {  
        public static void main(String args[]) {  
            System.out.println("org.cheungmine.study");  
            for(int i=0; i< args.length; i++) {  
                System.out.println(args[i]);  
            }  
        }  
    }                          

3 导入Ant工程到Eclipse中

上面的工程在ant下构建成功。下面把它导入到Eclipse中。选择菜单:

Eclipse->File->New->Project...->Java Project from Existing Ant Buildfile

按[Next],在Ant buildfile选择:<yourpath>\zebra\build.xml

按[Finish]。这样Ant工程就被导入到Eclipse中了。

在Eclipse的Package Explorer中定位到文件build.xml,在任一行设置断点,

菜 单Eclipse->Window->Show View->Ant确保Ant和Outline出现在右边的窗口中。如果Outline中没有build.xml的内容,切换到Ant窗口,选择 Add Buildfiles来加入build.xml,这样在Outline中就出现了如下面的图1:

图1 在Eclipse中调试build.xml

选择Outline->exec->右键->Debug As->Ant Build,即看到左边的断点被调试执行。这个仅仅是调试Ant的build.xml文件,接下来的方法用来直接调试Java代码,本例中是Main.java。

4 使用 Ant 构建文件作为项目构建器

在 使用 Eclipse Java IDE 时,默认使用了 Java Builder。每当我们保存文件时,Java Builder 就会在后台默默地运行,并立即对这些文件进行编译。它是 Eclipse 重大的特性之一:Java Builder 允许我们完全跳过编译过程,因为我们的程序总是 处于已编译状态,即使它充满了错误亦是如此。因此,我们可以在键入之后立即运行 Java 程序,无需首先通过一个漫长而乏味的编译过程。该功能为 Eclipse 用户省去了大量的时间和争论,也是 Eclipse 能够在程序员中广泛流行的原因之一。

但 是如果我们想要做编译文件以外的事情呢?如果我们想要为整个项目创建一个 jar 文件,并且在每次修改项目时将该文件复制到一个特定的目录呢?如果我们想要所有这些都发生在后台,无需每次都告诉 Eclipse 呢?我们完全可以坐下来、放松、编写一些代码、喝杯咖啡,让 Eclipse 在后台处理复杂的构建过程,甚至无需知道这个过程正在后台进行。

听起来是不是像做梦呀?不是做梦。我们可以真正做到这样的事情。我们只需要将一个 Ant 构建文件作为“构建器” 添加到我们的项目即可,这个构建文件中定义了构建过程的所有复杂性。这样做之后,魔术将开始上演。

右 击 Package Explorer 视图中的项目并单击 Properties(或者:Eclipse菜单->Project->Properties),展开 Builders 并单击 New,向项目添加一个新的构建器MyAntBuilder。添加之后的样子如下图2:

图2 使用Ant构建文件作为项目构建器

图3a Ant项目构建器Main属性

图3b Ant项目构建器Refresh属性

图3c Ant项目构建器Target属性

在这里,我们选择构建文件何时真正运行,更具体来说,运行哪个目标。有四个选项:

??? After a "Clean" —— 每当我们在项目上执行一个清除操作时,目标就会运行。

??? Manual Build —— 在自动构建被关闭的时候使用该选项。每当我们执行手动构建时,指定的目标就将运行。

??? Auto-Build —— 每当执行自动构建时,目标就会运行。一般来说,就是每当我们保存 Java 文件时。

??? During a "Clean" —— 该选项与 After a "Clean" 选项不同,因为目标是在清除操作本身期间被调用。使用该选项在清除操作期间执行一些定制的文件清除。

这样,每次我们Eclipse->Project->Build All / Clean时,Eclipse都是调用Ant的构建器来构建项目了。但是仍然不能调试到Java源代码中。因此我们需要:

5 在Eclipse内调试自定义的Ant task

在 左边的Package Explorer中右键点击zebra项目,选择Build Path->Add External Archives...,选中你的${ANT_HOME}/lib/下的全部jar文件。我这里是:C:\NVPACK\apache-ant- 1.8.2\lib\*.jar。

再一次,选择Build Path->Add External Archives...,选中你的${JAVA_HOME}/lib/下面的tools.jar文件。我这里是:

C:\NVPACK\jdk1.6.0_24\lib\tools.jar。

这些jar都被增加到zebra的Referenced Libraries下面。接下来配置使用Ant的Main来调试java。进入菜单:Eclipse->Run->Debug Configurations...,在左边的Java Application下面增加一个设置:Ant_Main。如图4:

图4a Ant项目Debug配置

图4b Ant项目Debug配置

这样就表示我们要用Ant的exec这个task来调试我们的java代码。如下图5 在Main.java中放置断点,并启动Ant_Main来调试,可以看到Ant任务后,顺利进入代码中的断点。

图5a Eclipse启动Ant任务调试

图5b Eclipse中调试Ant工程源码

分享到:
评论

相关推荐

    调试Ant工程

    本文将深入探讨如何在Eclipse集成开发环境中高效地调试Ant工程,包括构建脚本(build.xml)及Java源代码,旨在为读者提供一套完整的解决方案。 #### Eclipse + Ant环境搭建 首先,确保具备一个完善的Eclipse+Ant开发...

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

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

    Using ANT in Eclipse

    - **调试ANT脚本**: Eclipse允许你调试ANT任务,通过在构建配置中勾选"调试模式",并设置断点,可以查看变量值和控制流程。 - **外部ANT调用**: 除了直接在Eclipse内使用ANT,你还可以选择通过命令行调用ANT,然后...

    使用 Eclipse 和 Ant 进行 Python 开发

    本主题将深入探讨如何利用集成开发环境(IDE)Eclipse 和构建自动化工具 Ant 来进行 Python 项目的开发。Eclipse 是一个广泛使用的开源 IDE,最初是为 Java 开发设计的,但通过插件扩展,它也支持多种其他语言,包括...

    Eclipse PDE Export ANT Script (CI)

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

    Eclipse 中的 Ant 自动运行

    而`explode.launch`文件则是Eclipse的启动配置文件,它定义了如何执行特定的任务,例如运行或调试Ant任务。在这个文件中,你可以看到如何指定Ant的主目标,以及任何传递给Ant的参数。`explode.launch`文件通常位于...

    LiferayPortal6.0源码Eclipse中部署、重新ant编译收集.pdf

    ### Liferay Portal 6.0 源码在 Eclipse 中的部署与重新 Ant 编译详解 #### 实验环境配置 为了确保实验环境的一致性和稳定性,在进行 Liferay Portal 6.0 源码的部署及重新 Ant 编译之前,首先需要准备必要的软件...

    Eclipse 与Ant 资料

    Eclipse 提供了内建的 Ant 集成,允许用户直接在 IDE 中运行 build.xml 文件,进行编译、测试和部署等操作。这种方式使得开发者无需离开熟悉的开发环境,就能完成项目的构建流程,提高了工作效率。 在实际开发中,...

    Eclipse下Ant+Junit构建文件

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

    Eclipse快速上手指南之使用ANT

    本文将指导你如何在Eclipse中集成Ant,以便在开发过程中充分利用其优势。 首先,我们了解Eclipse的基本特性。Eclipse提供了丰富的代码编辑、调试、重构等功能,它的错误检测机制可以在编码阶段就发现并提示潜在的...

    ant4eclipseant4eclipseant4eclipseant4eclipse

    2. **Eclipse集成** - **插件安装**:Ant4Eclipse通常通过Eclipse Marketplace或Eclipse Update Manager进行安装,方便用户快速集成到工作环境中。 - **增强功能**:该插件提供了在Eclipse内部直接编辑、运行和...

    ANT+Eclipse

    文件列表中的“OpenSourceProgramming”可能是一个包含开源编程相关资源的文件夹,可能包含了更多关于Ant和Eclipse集成的信息,如示例项目或教程。 总之,“ANT+Eclipse”结合使用,能够为Java开发提供强大且灵活的...

    EJB3 实例教程(JBoss+Eclipse+Ant)

    3. **Eclipse集成**:说明如何在Eclipse IDE中创建EJB项目,设置服务器运行环境,以及利用Eclipse的EJB插件进行开发。 4. **Ant构建工具**:介绍如何使用Ant编写build.xml文件,实现项目的编译、打包和部署。Ant任务...

    使用 Eclipse 和 Ant 進行 Python 開發.pdf

    - **解决方案**:通过利用基于Java技术的开发工具如Eclipse和构建工具如Ant来弥补Python开发环境中的不足。 #### 3. Eclipse 与 Python 开发 - **Eclipse 概述**: - Eclipse是一个开源的集成开发环境,最初由IBM...

Global site tag (gtag.js) - Google Analytics