<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    細(xì)心!用心!耐心!

    吾非文人,乃市井一俗人也,讀百卷書,跨江河千里,故申城一游; 一兩滴辛酸,三四年學(xué)業(yè),五六點粗墨,七八筆買賣,九十道人情。

    BlogJava 聯(lián)系 聚合 管理
      1 Posts :: 196 Stories :: 10 Comments :: 0 Trackbacks

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

     

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

    第一步:配置自己的工具j2sdk和ant.j2sdk在http://java.sun.com下載.ant在http://www.apache.org下載.設(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是編譯后目標(biāo)文件所在目錄.jar是打包命令,basedir是要打包文件所在目錄,jarfile是編譯后是沒有經(jīng)過混淆器后生成的jar文件.manifest.mf是菜單文件,包含所執(zhí)行的所要類.fileset求的是所要的資源文件所在目錄.java是執(zhí)行混淆器,有三個命令參數(shù),原目標(biāo)jar文件,混淆后的jar文件,不混淆的清單列表.混淆器用的是Open Source的RetroGuard.在http://www.retrologic.com/下載.在CLASSPATH中設(shè)置retroguard.jar文件路徑.depends屬性是target之間相互依賴的關(guān)系.只要執(zhí)行 default屬性是ant默認(rèn)執(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="準(zhǔn)備工作">

    <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í)行了。

    posted on 2007-05-06 16:38 張金鵬 閱讀(241) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 99热在线精品免费播放6| 巨波霸乳在线永久免费视频| 一个人免费观看日本www视频| 免费91麻豆精品国产自产在线观看 | 久久免费国产视频| 国产成人精品日本亚洲网站| 中文字幕视频在线免费观看| 国产亚洲精品美女久久久| 亚洲中文字幕精品久久| 国产精品午夜免费观看网站| 我想看一级毛片免费的| 国产午夜亚洲精品| 成年女人永久免费观看片| 亚洲欧洲国产综合| 在线观看片免费人成视频播放| 亚洲熟妇av一区二区三区| 看亚洲a级一级毛片| 三年片在线观看免费大全| 亚洲阿v天堂在线| 99热精品在线免费观看| 狠狠色伊人亚洲综合网站色| 国产真人无遮挡作爱免费视频| 免费人成大片在线观看播放| 免费高清资源黄网站在线观看| 亚洲白色白色在线播放| 免费国产99久久久香蕉| 亚洲第一页在线观看| 最近中文字幕免费mv视频8| 国产成人不卡亚洲精品91| 久久久青草青青国产亚洲免观| 久久99精品免费视频| 亚洲七久久之综合七久久| 亚洲国产一区二区三区| 日本免费久久久久久久网站| 亚洲人成人无码.www石榴| 综合亚洲伊人午夜网| 100000免费啪啪18免进| 亚洲va在线va天堂va手机| 免费人成年轻人电影| 97av免费视频| 日本中文字幕免费看|