Eclipse整合和調試Ant工程

來源:互聯網
上載者:User
Eclipse中整合和調試Ant工程

cheungmine

2012-5-01

摘要:使用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的目錄結構如下:

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

build.xml的內容如下:

<?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>

Main.java的內容如下:

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.