用ANT構建java可執行程式 (轉)

amyz發表於2007-11-13
用ANT構建java可執行程式 (轉)[@more@]

用ANT構建可:namespace prefix = o ns = "urn:schemas--com::office" />

Ant是現在進行專案比較好的管理工具,透過Ant可以按照自己的需要來管理自己的工程.

第一步:自己的工具j2sdk和ant.j2sdk在在下載.設定環境變數JAVA_HOME=E:j2sdk1.4.1_0;和ANT_HOME=e:ant; PATH= E:j2sdk1.4.1_04bin;E:antbin;

第二步:ant在編譯時需要一個build.xml的.另外為了使程式便於移植到其他方面,做一個build.properties檔案儲存ant的基本屬性.

Ant的基本屬性檔案如下:

具體屬性如下所示:

#此文件用來設定一些常用屬性

#檔案名稱

name=HelloWorld

#合成後jar的檔名

jar=${name}.jar

#原始檔所在路徑

src.dir=src

#資源檔所在路徑

res.dir=res

#建模產物存放位置

build.dir=build

#編譯後類別檔的存放位置

build.dir.classes=${build.dir}/classes

#jar最終放置位置

build.dir.bin=${build.dir}/bin

#未經混淆的jar檔名

build.dir.bin.jarunobfus=${build.dir.bin}/${name}-unobfus.jar

#經混淆的jar檔名

build.dir.bin.jar=${build.dir.bin}/${jar}

#所在的路徑

java.home=E:j2sdk1.4.1_04

#JDK內附工具所在路徑

java.home.bin=${java.home}/bin

#混淆器控制檔

obfuscator.lib=retroguard.jar

obfuscator.script=script.rgs

第三步:建立build.xml.用ant來編譯來它產生檔案.

Build.xml中具體屬性的意思為:

Mkdir是建立目錄,delete是刪除目錄,javac是編譯命令,javac中子項有de=”off”是關閉斷點.srcdir是原檔案所在目錄,destdir是編譯後目標檔案所在目錄.jar是打包命令,basedir是要打包檔案所在目錄,jarfile是編譯後是沒有經過混淆器後生成的jar檔案.manifest.mf是選單檔案,包含所執行的所要類.fileset求的是所要的資原始檔所在目錄.java是執行混淆器,有三個命令引數,原目標jar檔案,混淆後的jar檔案,不混淆的清單列表.混淆器用的是的RetroGuard.在 default屬性是ant預設執行的引數. Ant 和 ant all是一樣的.

   <!--引入位於build.properties之中的常用屬性 --&gt

   

 

 

 

   

 

 

 

 

 

  srcdir="${src.dir}"

  destdir="${build.dir.classes}"

  />

 

 

 

 

  jarfile="${build.dir.bin.jarunobfus}"

  manifest="MANIFEST.MF">

   

 

 

 

 

 

 

 

 

 

 

 

第四步:編寫原始檔.放到src目錄下.

第五步:編寫選單檔案manifest.mf,Main是主類.demo是包.

Main-Class: demo.Main

第六步:編寫混淆器的列表檔案script.rgs

.class demo/Main public

這樣Main.class不會被混淆.

第七步:執行在包含build.xml下執行ant命令.如果src目錄下是gui程式這樣在buildbin下雙擊jar檔案這樣gui程式這樣就可以執行了.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-982169/,如需轉載,請註明出處,否則將追究法律責任。

相關文章