ant編譯eclipse
『壹』 Ant 打包 編譯不通過 eclipse可以 命令行不行
在命令行中編譯Eclipse 中的整個工程:
用命令行模擬eclipse中Android Project編譯流程
1、新建一個Android Project,目前的目錄結構如下圖:
2、點擊右鍵,Build Project,此時的目錄結構如下圖:
此時gen目錄下產生了R.java,bin目錄在工程目錄中,顯示如上,沒有任何內容;但是在終端查看,內容有改變,如下:
只剩下一個classes文件夾,此文件夾為空
對應的命令:
在工程目錄下執行如下代碼:
生成R文件:
aapt p -f -m -J gen -S res -I ~/android-sdk-linux/platforms/android-18/android.jar -M AndroidManifest.xml
3、點擊右鍵,再一次Build Project
4、點擊右鍵Run as Android Application
對應的命令:
在工程目錄下執行以下命令:
生成resources.ap_:
aapt package -f -S res -I ~/android-sdk-linux/platforms/android-18/android.jar -A assets/ -M AndroidManifest.xml -F bin/resources.ap_
生成classes.dex:
dx --dex --output=bin/classes.dex bin/classes
生成HelloWorld_unsigned.apk:
apkbuilder bin/HelloWorld_unsigned.apk -v -u -z bin/resources.ap_ -f bin/classes.dex -rf src -nf libs
簽名apk,使用debug key,別名為androiddebugkey,密碼是android:
jarsigner -verbose -keystore ~/.android/debug.keystore -signedjar bin/HelloWorld_signed.apk bin/HelloWorld_unsigned.apk androiddebugkey
對齊apk:
zipalign -v 4 bin/HelloWorld_signed.apk bin/HelloWorld.apk
移除臨時apk:
rm bin/HelloWorld_unsigned.apk bin/HelloWorld_signed.apk
安裝apk:
adb install bin/HelloWorld.apk
5、點擊右鍵,Android Tools->Export Signed Application Package
同樣的步驟,只是簽名使用的自己創建的數字證書(release版),最後的apk不保存在bin目錄下,而是由用戶指定。
『貳』 在eclipse中,運行java文檔時提示:無法找到要運行的Ant文件,是什麼問題
因為你不能單純打開java文件執行呀,eclipse你要執行文件得要導入。當然也不是不可以,但是遇到一整個項目文件時,那麼多文件還有配置文件,顯然是不可取的。所以建議導入。
導入步驟:
右擊資源管理器空白部分,選擇新建->java項目:

『叄』 eclipse中ant怎麼使用
用 Eclipse3.1 來創建 Ant 腳本
如果你使用 Eclipse 來編寫 Ant,建議使用 Eclipse 3.1 以後的版本。除了以前 Ant 編輯器提供的語法高亮,提示語法錯誤等功能外,Eclipse3.1 版本增加了許多新的功能。比如:腳本代碼的折疊;快速定位某屬性或者目標(target)段的定義;在同一 builder 文件中重構屬性名和目標名(快捷方式 Alt + Shift +R);調試 Ant 腳本等。
下面我們就來看看 Eclipse 3.1 中對 Ant 的支持
打開「File」-「New」-「Project」-「Simple」-「Project」,點擊「Next」,輸入工程名「Ant」,然後點擊直到「Finish」
在新建的 Ant 工程中,新建 Test.xml,並且拷貝下面的腳本。該段腳本的內容就不做介紹了,我們主要看 Eclipse 提供了哪些功能。注意這時候打開的並不是 Ant 編輯器,將內容拷貝進去之後,關掉打開的「Test.xml」,然後再重新打開它,這樣 Eclipse 就會用 Ant 編輯器打開它,並且也語法高亮了。
<?xml version="1.0" encoding="UTF-8"?>
<project name="Test" default="init" basedir=".">
<property name="test" value="test"/>
<target name="init">
<echo>${test}</echo>
</target>
</project>
自動提示和代碼折疊功能。如果是 Ant 內置的命令或者前面已經定義的變數,編輯器會自動提示;編輯器右邊的加 / 減號可以代碼折疊。如下所示:
快速定位目標(target)或者定義變數處。在上圖中,將滑鼠移至 default=」init」 中的 init 上之後,按下 ctrl 鍵,滑鼠變成手狀,單擊就可以定位到定義該目標的地方
快速重構目標名或者屬性名。選中目標 / 屬性名,按下 Alt + Shift + R,然後鍵入你要修改後的值,所有引用到的地方都會隨之改動。如下圖所示,選中 init 後,按下快捷鍵,改成 initial:
調試 Ant 腳本。在標簽「<target name=..」的左邊設置一斷點,然後在編輯器中右擊,出現的菜單中選「Debug As」-「Ant Build」,出現後的窗口與調試 Java 程序的界面差不多。
這是調試窗口,這里可以選擇單步跟進、跳出等:
下面是運行時變數窗口。可以看到 test 變數的值是「test」:
運行結果窗口:
由此可見,如果使用好 Eclipse Ant 編輯器所提供強大的功能的話能大大提高寫 Ant 腳本的效率。
回頁首
Ant 中使用 property(屬性)文件
剛開始寫 Ant 的初學者可能會把所有的信息都放在 build.xml 中,下面就是這樣的一個例子。
<project name="testBuild" default="compile" basedir=".">
<target name="init">
<mkdir dir="c:/temp/dest/testProj" />
</target>
<target name="compile" depends="init">
<javac srcdir="c:/temp/src/testProj" destdir="c:/temp/dest/testProj "/>
<echo>Build into c:/temp/dest/testProj, successfully.</echo>
</target>
</project>
在上面的例子中,所有的路徑信息都是寫在 build.xml 中。但是 Ant 腳本可能在不同的機器或者不同的系統上運行,也有可能一些值需要根據環境的不同而變化,在 Ant 中可以把所有這些可能變化的地方都放到一個配置文件中,然後在 Ant 腳本中引用這個配置文件就可以了,針對上面的例子,如下所示:
<project name="testBuild" default="compile" basedir=".">
<property file="build.properties"/>
<target name="init">
<mkdir dir="${dest.dir}" />
</target>
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${dest.dir}"/>
<echo>Build into ${dest.dir}, successfully.</echo>
</target>
</project>
build.properties 的內容:
dest.dir=c:/temp/dest/testProj
src.dir=c:/temp/src/testProj
如果想在 Ant 腳本中引用值的話,只需用 $ 符號開頭,在一對"{}"中寫入要引用的鍵值。如上例中,需要引用編譯的目標路徑用"${dest.dir}"。
回頁首
使用 Ant 任務從 CVS 中檢出(check out)源代碼,並編譯打包
Ant 中提供了 cvs 任務(Task)可以從 CVS 伺服器中檢出資源(注意:在使用 Ant 的 cvs 任務之前,請先將 cvs.exe 下載到你的機器,並且將它添加到你本地的 PATH 環境變數中,然後重新啟動 Eclipse。否則在執行下面腳本的時候就會得到 error=2 的錯誤)。cvs 的可選用屬性很多,在這里介紹經常使用到的幾個屬性。從 CVS 中檢出資源一般需要指定:
CVS 所在的伺服器地址:目標 CVS 伺服器地址
用戶名:登錄該 CVS 伺服器你指定的用戶名
密碼:登錄該 CVS 伺服器需要的密碼
庫路徑(Repository Path):伺服器中的庫路徑
模塊名:當前需要檢出的模塊名,一般都是以工程的名字作為模塊名
標簽名:需要從 CVS 中檢出哪個標簽
在介紹使用 Ant 的 cvs 之前,先說一下本地的目錄結構。在 C 盤的 temp 目錄下,分別有四個目錄,如下所示:
build 目錄:放編譯後的類以及資源文件
dist 目錄:放生成的 jar 文件或者 war 文件
lib 目錄:放在編譯過程中需要用到的 jar 文件
src 目錄:放從 cvs 中檢出的源文件(包括 JSP 等)
在 Ant 中這樣寫就可以從中檢出資源:
<cvs cvsRoot=":pserver:username:[email protected]:/home/testPath"
package="TestProj" dest=" c:/temp/src/testProj " failonerror="true" />
這段腳本片斷的意思就是從叫"cvs.server"的伺服器中,用用戶名是 username、密碼為 pwd 的用戶檢出在庫路徑是 /home/testPath 下的 TestProj 模塊(項目),檢出後的資源放入本地目錄 c:/temp/src/testProj 中。在上面這段腳本中,可以看到有很多值可能會根據不同的環境或者用戶隨之改變的,比如用戶名和密碼等;而且從腳本的重復可利用性來說,需要把有些值抽出來放到配置文件中,如伺服器的地址和庫路徑等。因此把這些可能需要更改的地方放到 property 文件中,效果會更好。改完後的完整 Ant 腳本如下所示:
<?xml version="1.0"?>
<project name="testWeb" default="checkout" basedir=".">
<target name="checkout">
<property file="TestWeb.properties" />
<cvs cvsRoot="${cvs.root}" package="${cvs.projectName}"
tag="${cvs.tag}" dest="${src.dir}" failonerror="true" />
</target>
</project>『肆』 在用eclipse集成的ant編譯web工程的時候,在編譯到類文件的時候,就會terminated,但是看不到原因
樓上的,WEB工程 和EXE 有毛關系啊?
樓主,你是ant是在那執行的,應該在控制參有輸出啊,
如果是eclipse的話,會出一個藍色的鍵接,點擊的話,可以到build.xml文件中運行出錯的地方。『伍』 java web項目開發,用ant將java文件編譯為class文件和直接在Eclipse運行java文件編譯成class,有什麼區別
沒有任何區別。ant是自動化編譯工具,而Eclipse作為IDE,也可以幫助你自動化編譯。編譯的過程都是調用了你安裝的JDK中的java編譯器
『陸』 hadoop1.2.1+eclipse: 執行ant編譯錯誤提示:
.在Eclipse中執行Ant的腳本編譯出現問題
Copy
to clipboard
Posted by: njord
Posted on: 2003-08-19
11:40
信息如下:
compile:
[javac]
Compiling 15 source files to
E:\work_home\OakingSecurity\build\classes
[javac] BUILD FAILED:
file:E:/work_home/OakingSecurity/build.xml:48: Unable to find a javac
compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps
JAVA_HOME does not point to the
JDK
我的系統變數設置了JAVA_HOME的,在命令行直接運行ant都沒有問題。
請問這是怎麼回事?是不是還要在Eclipse中設置什麼?
2.Re:在Eclipse中執行Ant的腳本編譯出現問題 [Re: njord]
Copy
to clipboard
Posted by: fengyifan
Posted on: 2003-08-19
21:49
put tools.jar in ant classpath
3.Re:在Eclipse中執行Ant的腳本編譯出現問題 [Re: njord]
Copy
to clipboard
Posted by: babyoracle
Posted on: 2003-08-20
07:42
用這個方法就可以了
http://www.cjsdn.com/post/view?bid=7&id=45620&sty=3&tpg=1&age=0
4.Re:在Eclipse中執行Ant的腳本編譯出現問題 [Re: njord]
Copy
to clipboard
Posted by: njord
Posted on: 2003-08-22
13:03
在Eclipse的首選項中可以配置ANT_HOME,但又出現如下錯誤:
BUILD FAILED:
java.lang.VerifyError: (class:
org/apache/xerces/parsers/IntegratedParserConfiguration, method:
configurePipeline signature: ()V) Incompatible type for getting or setting
field
Total time: 94 milliseconds
為什麼?
5.Re:在Eclipse中執行Ant的腳本編譯出現問題 [Re: feng]
Copy
to clipboard
Posted by: njord
Posted on: 2003-08-22
13:12
feng wrote:
put tools.jar in ant
classpath
用Eclipse默認的ANT選項,然後加上tools.jar是可以了,不過它又提示不支持junit任務,暈倒~
[junit]
BUILD FAILED: file:E:/work_home/OakingSecurity/build.xml:76: Could not create
task or type of type: junit.
Ant could not find the task or a class this
task relies upon.
而我用自己下載的Ant1.5.3又出現前面帖子的錯誤提示,為什麼?
6.Re:在Eclipse中執行Ant的腳本編譯出現問題 [Re: njord]
Copy
to clipboard
Posted by: njord
Posted on: 2003-08-22
13:19

