`
pengyeer
  • 浏览: 32884 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

[转]用ANT构建java可执行程序

阅读更多

Ant是现在进行项目比较好的管理工具,通过Ant可以按照自己的需要来管理自己的工程.

第一步:配置自己的工具j2sdk和ant.j2sdk在http://java.sun.com下载.ant在http://www.apache.org下载.设置环境变量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的基本属性文件如下:

具体属性如下所示:

#此文档用来设定一些常用属性

#档案名称

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}

#JDK所在的路径

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中子项有debug=”off”是关闭断点调试.srcdir是原文件所在目录,destdir是编译后目标文件所在目录.jar是打包命令,basedir是要打包文件所在目录,jarfile是编译后是没有经过混淆器后生成的jar文件.manifest.mf是菜单文件,包含所执行的所要类.fileset求的是所要的资源文件所在目录.java是执行混淆器,有三个命令参数,原目标jar文件,混淆后的jar文件,不混淆的清单列表.混淆器用的是Open Source的RetroGuard.在http://www.retrologic.com/下载.在CLASSPATH中设置retroguard.jar文件路径.depends属性是target之间相互依赖的关系.只要执行 default属性是ant默认执行的参数. 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不会被混淆.

第七步:执行在包含build.xml下执行ant命令.如果src目录下是gui程序这样在build\bin下双击jar文件这样gui程序这样就可以执行了.

分享到:
评论

相关推荐

    java Ant 教程

    由于Ant构建文件时XML格式的文件,所以和容易维护和书写,而且结构很清晰。 3.Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。 Ant开发Ant的构建文件

    Ant构建Java项目之第1篇

    Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的。下面来看几个知识点。  1.project元素  project元素是Ant构件文件的根元素,Ant构件文件至少应该包含一个...

    apache-ant-1.9.6

    Ant是Apache软件基金会JAKARTA目录中的...由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环 境中去。

    java jar转exe

    使用exe4j将jar转成exe window系统下的可执行文件并实现了在Eclipse下与ANT结合使用自动构建exe可执行应用程序

    apache-ant-1.9.3.rar

    当开始一个新的项目时,首先应该编写Ant构建文件。构建文件定义了构建过程,并被团队开发 中每个人使用。Ant构建文件默认名为build.xml,也可以取其他的名字。只不过在运行的时候 把这个命名当作参数传给Ant。构建...

    ant1.9资源

    利用Ant构建和部署Java工程 Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的。下面来看几个知识点。 1. 利用Ant的javac任务来编译java程序 Ant的javac任务用于...

    apache-ant-1.10.8.zip

    nt是Apache软件基金会JAKARTA目录中的一...由于Ant构建文件时XML格式的文件,所以和容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。

    ant1.8安装文件

    ant1.8 安装文件,Ant是Apache软件基金...由于Ant构建文件 时XML格式的文件,所以和容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环 境中去。

    apache-ant-1.9.3-src.tar

    在Java 中应用是平台无关性的,当然不会用平台相关的make脚本来完成这些批处理任务了,ANT本身就是这样一个流程脚本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关的外,脚本的格式...

    搭建JMeter+Jenkins+Ant持续化

    apache Ant,是一个将软件编译、测试、...由于Ant构建文件 是XML格式的文件,所以很容易维护和书写,而且结构很清晰。 Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。

    Java项目开发与毕业设计指导

    bin——bin目录包含了Aglet平台所有的可执行程序,比如掌控接收Agent的后台(daemon)程序,另外bin目录还包含了进一步安装需要的文件。 cnf——cnf目录包含了Aglet平台的配置文件。 public——public目录包含了...

    jsign:Microsoft Authenticode的Java实现,用于对Windows可执行文件,安装程序和脚本进行签名

    Jsign是Microsoft Authenticode的Java实现,可让您对Windows,Microsoft安装程序(MSI),文件柜文件(CAB)和脚本的可执行文件进行签名和时间戳。 Jsign是独立于平台的,它提供了本机工具(例如Windows上的...

    Java通用代码生成实用程序XDoclet(源码包)

    XDoclet 是一个通用的代码生成实用程序,是一个扩展的Javadoc Doclet引擎,它允许您使用象 JavaDoc 标记之 类的东西来向诸如类、方法和字段之类的语言特征添加元数据。随后,它利用这些额外的元数据来生成诸如部署...

    Compilers:使用 BCEL 库优化 Java 字节码

    build.xml : ant 构建脚本 - 它将构建一个可执行的 jar,包含 BCEL 库,使用命令“jar” src : 包含骨架源代码 build : ant 存放编译类的地方 jars : ant 存放可执行文件的地方 testfiles :包含带有冗余 goto 的...

    java图书馆swing源码-chess-java:为Penn的CIS120课程构建的简单JavaChess游戏

    java图书馆swing源码国际象棋 Java 2014 年Spring,我在宾夕法尼亚大学的编程课程中创建了一个两人国际象棋游戏,其中包含将死检测和国际象棋时钟。...然后,运行名为chess-java.jar的可执行 .jar 文件进行播放。

    JShellLab:基于JShell脚本的类似于MATLAB的Java环境。 JShellLab旨在为Java提供有效且用户友好的科学计算框架。 JShellLab仅支持基于JShell的脚本。 GroovyLab(https

    JShellLab:使用Java JShell轻松有效地进行类似于MATLAB的科学编程 安装 JShellLab的安装非常简单: 步骤1下载.zip下载文件并解压缩。...可执行文件应放置在build / libs文件夹中 您还可以构建一个

    checkstyle:Checkstyle是一种开发工具,可帮助程序员编写遵循编码标准的Java代码。 默认情况下,它支持Google Java样式指南和Sun代码约定,但是可高度配置。 可以使用ANT任务和命令行程序来调用它

    制作说明和贡献持续集成和质量报告Travis(Linux和MacOS构建): AppVeyor(Windows构建): 质量报告: : 关于CodacyJavaScript,CSS和Java源文件分析:反馈/支持请将任何反馈发送到 来自社区的问题和解答: 错误和...

    java笔试题算法-segment:用于将文本分割成段的程序

    运行程序使用 bin/segment 脚本。 例如在 Linux 上,从主项目目录执行: bin/segment 在 Windows 上,从主目录,它看起来像这样: bin\segment 当该脚本在您的操作系统上不起作用时,可以直接使用 Java 运行程序,请...

    bluemix-sendgrid-java-sample:如何使用 Bluemix Java Liberty Buildpack 和 Sendgrid Java API 发送电子邮件的简单示例

    通过执行以下命令确保 ant 构建成功完成并部署到 Bluemix: cf login cf create-service sendgrid free mySendgrid cf push 命令成功完成后,查找指定应用程序 URL 的控制台输出。 它应该看起来像: usage: 128M...

    可逆:可逆是撤消数据结构的Java库

    使用Ant构建 可以使用构建可逆。 构建脚本位于build.xml ,可以在build.properties进行配置。 可以通过运行以下命令来构建可执行jar: ant all 执照 Reversible已根据Apache License 2.0版的条款获得许可,请参阅随...

Global site tag (gtag.js) - Google Analytics