日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

用ANT構(gòu)建java可執(zhí)行程序

 duduwolf 2005-10-10
Ant是現(xiàn)在進行項目比較好的管理工具,通過Ant可以按照自己的需要來管理自己的工程.

第一步:配置自己的工具j2sdk和ant.j2sdk在http://java.下載.ant在http://www.下載.設(shè)置環(huán)境變量JAVA_HOME=E:\j2sdk1.4.1_0;和ANT_HOME=e:\ant; PATH= E:\j2sdk1.4.1_04\bin;E:\ant\bin;

第二步:ant在編譯時需要一個build.xml的文件.另外為了使程序便于移植到其他方面,做一個build.properties文件保存ant的基本屬性.

Ant的基本屬性文件如下:

具體屬性如下所示:

#此文檔用來設(shè)定一些常用屬性

#檔案名稱

name=HelloWorld

#合成后jar的檔名

jar=${name}.jar

#原始檔所在路徑

src.dir=src

#資源檔所在路徑

res.dir=res

#建模產(chǎn)物存放位置

build.dir=build

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

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

#jar最終放置位置

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

#未經(jīng)混淆的jar檔名

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

#經(jīng)混淆的jar檔名

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

#JDK所在的路徑

java.home=E:\j2sdk1.4.1_04

#JDK內(nèi)附工具所在路徑

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

#混淆器控制檔

obfuscator.lib=retroguard.jar

obfuscator.script=script.rgs

第三步:建立build.xml.用ant來編譯來它產(chǎn)生文件.

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

Mkdir是建立目錄,delete是刪除目錄,javac是編譯命令,javac中子項有debug=”off”是關(guān)閉斷點調(diào)試.srcdir是原文件所在目錄,destdir是編譯后目標文件所在目錄.jar是打包命令,basedir是要打包文件所在目錄,jarfile是編譯后是沒有經(jīng)過混淆器后生成的jar文件.manifest.mf是菜單文件,包含所執(zhí)行的所要類.fileset求的是所要的資源文件所在目錄.java是執(zhí)行混淆器,有三個命令參數(shù),原目標jar文件,混淆后的jar文件,不混淆的清單列表.混淆器用的是Open Source的RetroGuard.在http://www./下載.在CLASSPATH中設(shè)置retroguard.jar文件路徑.depends屬性是target之間相互依賴的關(guān)系.只要執(zhí)行 default屬性是ant默認執(zhí)行的參數(shù). Ant 和 ant all是一樣的.

<?xml version="1.0" encoding="gb2312" ?>

<project name="第一個java程序" default="all" basedir=".">

<!--引入位于build.properties之中的常用屬性 -->

<property file="build.properties"/>

<target name="prepare" description="準備工作">

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

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

</target>

<target name="cleandir" description="清除目錄">

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

</target>

<target name="compile" description="原始編譯碼" depends="prepare">

<javac debug="off"

srcdir="${src.dir}"

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

/>

</target>

<target name="package" description="包裝成jar文件" depends="compile">

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

<jar basedir="${build.dir.classes}"

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

manifest="MANIFEST.MF">

<fileset dir="${res.dir}"/>

</jar>

</target>

<target name="obfuscate" description="使用混淆器" depends="package">

<java fork="yes" classname="RetroGuard" classpath="${obfuscate.lib}">

<arg line="${build.dir.bin.jarunobfus}"/>

<arg line="${build.dir.bin.jar}"/>

<arg line="${obfuscator.script}"/>

</java>

</target>

<target name="all" description="完成所有程序" depends="cleandir,obfuscate">

</target>

</project>

第四步:編寫源文件.放到src目錄下.

第五步:編寫菜單文件manifest.mf,Main是主類.demo是包.

Main-Class: demo.Main

第六步:編寫混淆器的列表文件script.rgs

.class demo/Main public

這樣Main.class不會被混淆.

第七步:執(zhí)行在包含build.xml下執(zhí)行ant命令.如果src目錄下是gui程序這樣在build\bin下雙擊jar文件這樣gui程序這樣就可以執(zhí)行了

了解更多詳情,參與討論,請進入GBUNIX論壇

http://www./bbs/forums.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多