jakarta-ant的使用(java编译工具)

编译

一:介绍:
ant 是jakarta的一个编译工具,如果你了解linux/Unix下的makefile你就很容易
理解ant的用途了。ant最适合你使用UltraEdit(EditPlus)写java程序,然后你使用ant去编译,同时javadoc ,生成一个jar,war,实现文件的copy都可以在build.xml通过不同的tager去实现,还是很方便的一个东东强烈推荐是使用。
二:下载
你可以从下面的地址下载到ant,目前版本:1.41
http://jakarta.apache.org/builds/jakarta-ant/release/v1.4.1/bin/

三:安装
a:)Windows
1:解压你下载的文件,会有一个jakarta-ant(版本号的)目录产生,把他改名为ant
2:copy ant 目录到你需要的位置。
3:在环境变量中添加:ANT_HOME=ant的安装目录,path中加$ANT_HOME$\in;注意你同时必须已经安装了jdk,并添加了JAVA_HOME的环境变量,同时早path中加了$JAVA_HOME$\in;

b:)Linux/Unix
1:解压你下载的文件,会有一个jakarta-ant(版本号的)目录产生,把他改名为ant
2:copy ant 目录到你需要的位置。
3:在环境变量中添加:ANT_HOME=ant的安装目录,path中加$ANT_HOME$\in;注意你同时必须已经安装了jdk,并添加了JAVA_HOME的环境变量,同时早path中加了$JAVA_HOME$\in;实现修改环境变量你需要修改.bash_profile文件。
如下
ANT_HOME=/usr/local/ant
JAVA_HOME=/usr/local/jdk
PATH=$PATH:$HOME/bin:/usr/local/ant/bin:/usr/local/jdk/bin

export PATH ANT_HOME JAVA_HOME

四:编写build.xml
build.xml相当Linux下的makefile,具体的实现都在build.xml中实现。
我给给例子说明一下。
build.xml
================================================================
<project name="bingo" default="build" basedir="../.." >
<!--basedir设定工作目录-->
<property name="version" value="1.0"/>

<!-- The base directory relative to which most targets are built -->
<property name="base" value="."/>

<!-- The directory where source files are stored. -->
<property name="java.source.dir" value="bingo/src"/>
<!--代码保存路径-->
<!-- Destination for compiled files -->
<property name="javac.dest" value="bingo/classes"/>
<!--class保存路径-->
<!-- Destination for generated jar files -->
<property name="jar.dest" value="bingo/jar"/>
<!--jar文件保存路径-->
<!-- Destination for documentation files generated or not -->
<property name="docs" value="bingo/docs"/>
<!--javadoc文件保存路径-->
<!-- Destination for javadoc generated files -->
<property name="javadoc.dest" value="bingo/docs"/>

<!-- The stem where most log4j source code is located. -->
<property name="stem" value="com/bingo"/>

<property name="base-files" value="include"/>

<!-- Original manifest.mf file before filtering. -->
<property name="manifest.src" value="bingo/build/manifest.mf"/>

<!-- Some targets needs a more precise stem. -->
<property name="BSTEM" value="${java.source.dir}/${stem}"/>

<property name="tomcat.dir" value="c:/Apache/Tomcat"/>

<property name="webapp.dir" value="${tomcat.dir}/webapps/ROOT/WEB-INF/classes"/>

<!--List all Package used in this project -->
<property name="PackageList" value="
com.bingo,
com.bingo.database,
com.bingo.dbocw,
com.bingo.util,
com.bingo.taglibs.jndi,
com.bingo.finance.database,
com.bingo.finance.entity,
com.bingo.finance.manager"
/>
<!--你的project中所有的包-->
<!-- List all jar or file used in this project -->
<property name="classpath" value="${classpath};
${base-files}/tomcat/servlet.jar;
${base-files}/tomcat/webserver.jar;
${base-files}/log4j/log4j.jar;
${base-files}/log4j/log4j-core.jar"

/>
<!--你需要用到的包-->
<target name="init">
<tstamp />
</target>

<target name="build" depends="init">
<echo>
Building...
</echo>

<mkdir dir="${javac.dest}" />
<javac srcdir="${java.source.dir}"
destdir="${javac.dest}"
classpath="${classpath}"
debug="on"/>

</target>
<!-- ================================================================= -->
<!-- Copy class files to tomcat dir. -->
<!-- ================================================================= -->
<target name="copy" depends="build">
<copy todir="${webapp.dir}/com/bingo">
<fileset dir="${javac.dest}/com/bingo">
<include name="*.class"/>
</fileset>
</copy>
<copy todir="${webapp.dir}/com/bingo/util">
<fileset dir="${javac.dest}/com/bingo/util">
<include name="*.class"/>
</fileset>
</copy>
<copy todir="${webapp.dir}/com/bingo/database">
<fileset dir="${javac.dest}/com/bingo/database">
<include name="*.class"/>
</fileset>
</copy>
<copy todir="${webapp.dir}/com/bingo/dbocw">
<fileset dir="${javac.dest}/com/bingo/dbocw">
<include name="*.class"/>
</fileset>
</copy>
<copy todir="${webapp.dir}/com/bingo/finance/database">
<fileset dir="${javac.dest}/com/bingo/finance/database">
<include name="*.class"/>
</fileset>
</copy>
<copy todir="${webapp.dir}/com/bingo/finance/entity">
<fileset dir="${javac.dest}/com/bingo/finance/entity">
<include name="*.class"/>
</fileset>
</copy>
<copy todir="${webapp.dir}/com/bingo/finance/manager">
<fileset dir="${javac.dest}/com/bingo/finance/manager">
<include name="*.class"/>
</fileset>
</copy>
</target>

<!-- ================================================================= -->
<!-- Remove all generated (compiled) class files. -->
<!-- ================================================================= -->
<target name="clean" depends="init">
<delete dir="${javac.dest}/" />
</target>

<!-- ================================================================= -->
<!-- Remove all backup files. -->
<!-- ================================================================= -->
<target name="delete" depends="init">
<delete >
<fileset dir="${java.source.dir}/com/bingo">
<include name="*.bak"/>
</fileset>
</delete>
<delete >
<fileset dir="${java.source.dir}/com/bingo/util">
<include name="*.bak"/>
</fileset>
</delete>
<delete >
<fileset dir="${java.source.dir}/com/bingo/database">
<include name="*.bak"/>
</fileset>
</delete>
<delete >
<fileset dir="${java.source.dir}/com/bingo/finance/database">
<include name="*.bak"/>
</fileset>
</delete>
<delete >
<fileset dir="${java.source.dir}/com/bingo/finance/entity">
<include name="*.bak"/>
</fileset>
</delete>
<delete >
<fileset dir="${java.source.dir}/com/bingo/finance/manager">
<include name="*.bak"/>
</fileset>
</delete>
</target>

<!-- ================================================================= -->
<!-- Remove the temporary manifest file, actual work is done in the -->
<!-- dependencies. -->
<!-- ================================================================= -->

<target name="prejar" depends="build">
<mkdir dir="${jar.dest}"/>
<filter token="version" value="${version}" />
<copy file="${manifest.src}" tofile="${jar.dest}/manifest.mf"
filtering="true"/>
</target>

<!-- ================================================================= -->
<!-- This target Create bingo.jar -->
<!-- ================================================================= -->
<target name="jar" depends="prejar">
<delete file="${jar.dest}/bingo.jar"/>
<jar jarfile="${jar.dest}/bingo.jar" basedir="${javac.dest}"
manifest="${jar.dest}/manifest.mf"
/>
</target>

<!-- ================================================================= -->
<!-- This target builds the javadoc files. -->
<!-- ================================================================= -->
<target name="javadoc" depends="build,init">
<mkdir dir="${javadoc.dest}" />
<javadoc sourcepath="${java.source.dir}"
destdir="${javadoc.dest}"
classpath="${classpath}"
packagenames="${PackageList}"
version="true"
protected="true"
author="true"
use="true"
windowtitle="Bingo Free Java Code Version ${version}"
header="Bingo Free Java Code${version}"
/>
</target>
</project>

时间: 2024-11-03 13:38:58

jakarta-ant的使用(java编译工具)的相关文章

程序-重新制作java编译工具

问题描述 重新制作java编译工具 如题,请问该如何制作呢? 还有我很想知道,使用eclipse编译java的时候,为什么按"."号之后会出现一个提示方框,我想知道eclipse实现这个功能的内部机制是什么,如果我另外用程序实现,应该怎么实现此功能? 解决方案 那个叫做 程序集元数据 java以及vs就是利用各自的程序集元数据来辅助编写代码 所有预先编辑好的类和方法都放在系统类库中 解决方案二: 你说的不是编译工具,而是编辑器,开发环境. 一个开发环境的开发不是那么简单的.至于你说的自

我想用JAVA语音做一个JAVA编译工具,有DEBUG功能,但是无从下手,希望高手指点下,在线等

问题描述 debug功能类似VISUALSTUDIO,有stepinto,break之类的. 解决方案 解决方案二:Java深度探索者QQ群:65670864

ant 使用指南---java模块化编译【转】

转自:http://www.cnblogs.com/hoojo/archive/2013/06/14/java_ant_project_target_task_run.html 一.概述 ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.在实际软件开发中,有很多地方可以用到ant.   开发环境: System:Windows JDK:1.6+ IDE:eclipse ant:1.9.1   Email:hoojo_@126.com Bl

Java自动化工具Ant的基础使用教程_java

Ant 是什么?Apache Ant 是一个基于Java 的生成工具.据最初的创始人 James Duncan Davidson 介绍,这个工具的名称是 another neat tool(另一个整洁的工具) 的首字母缩写. Ant的作用:生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式).随着应用程序的生成过程变得更加复杂,确保在每次生成期间都使用精确相同的生成步骤,同时实现尽可能多的自动化,以便及时产生一致的生成版本,这就变得更加重要.

JAVA反编译工具jad的简单用法

反编译工具jad简单用法 以下假设jad.exe在c:\java目录下 一.基本用法 Usage: jad[option(s)] 直接输入类文件名,且支持通配符,如下所示. c:\java\>jad example1.class c:\java\>jad *.class 结果是将example1.class反编译为example1.jad.将example1.jad改为example1.java即得源文件. 二.Option-o 不提示,覆盖源文件 三.Option-s c:\java\>

7 款开源 Java 反编译工具

今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码.当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了. 1.Java反编译插件 -- Jadclipse JadClipse是Jad的Eclipse插件,是一款非常实用而且方便地Java反编译插件,我们只需将下载的插件包复制到e

java 泛型擦除发生在哪个阶段,如何用反编译工具查看泛型擦除后的代码?

问题描述 java 泛型擦除发生在哪个阶段,如何用反编译工具查看泛型擦除后的代码? 有如下的泛型类: public class Pair { public Pair() { first = null; second = null; } public Pair(T first, T second) { this.first = first; this.second = second; } public T getFirst() { return first; } public T getSecon

7款开源Java反编译工具

本文是码农网原创整理,转载请看清文末的转载要求,谢谢合作! 今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码.当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了. 1.Java反编译插件 -- Jadclipse JadClipse是Jad的Eclipse插件,是一款非常实用

java反编译工具

问题描述 大家谁有好的反编译工具,推荐下,最近用那个jd-gui-0.3.3.windows,这个版本的工具出来之后总是一堆注释,很烦人,就这样的/* */ package baby.com.controllor.birthdayevent.formbean;/* */ /* */ import javax.servlet.http.HttpServletRequest;/* */ import org.apache.struts.action.ActionErrors;/* */ import