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

原创 2005年05月27日 13:18:00

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>

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

一:介绍:    ant 是jakarta的一个编译工具,如果你了解linux/Unix下的makefile你就很容易     理解ant的用途了。ant最适合你使用UltraEdit(EditPlu...
  • seawavecau
  • seawavecau
  • 2006年10月20日 11:19
  • 531

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

一:介绍:    ant 是jakarta的一个编译工具,如果你了解linux/Unix下的makefile你就很容易    理解ant的用途了。ant最适合你使用UltraEdit(EditPlus...
  • brucelee0224
  • brucelee0224
  • 2007年05月06日 10:49
  • 369

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

一:介绍:    ant 是jakarta的一个编译工具,如果你了解linux/Unix下的makefile你就很容易    理解ant的用途了。ant最适合你使用UltraEdit(EditPlus...
  • lazycatw
  • lazycatw
  • 2005年07月19日 15:20
  • 453

利用JavaCompiler编译java文件(一个简单封装的工具类)

最近,在利用java做一个Online Judge系统,里面涉及到编译java文件为class文件,当时看过API文档,也百度过别人的一些博客,感觉都不太符合个人胃口。虽然,有说得详细的,也有很多权威...
  • u014653197
  • u014653197
  • 2016年10月12日 12:31
  • 2843

交叉编译器的安装方法

交叉编译器的安装方法,通常交叉编译器的打包发布方式有关: >> 如果以 deb 包形式发布,则需要用 dpkg 命令进行安装。示例命令: host$ dpkg -i package.deb >>如果以...
  • u013485792
  • u013485792
  • 2016年03月22日 20:53
  • 2885

Android最新编译工具Jack和Jill

前几天在编译Android6.0系统的时候,报了一个ERROR: Security problem, see Jack server log的错误,就顺便查了一些资料,简单了解了一下Jack并总结如下...
  • Simon_Crystin
  • Simon_Crystin
  • 2017年03月16日 16:31
  • 1477

常用java编译器总结

1.javac:sun公司编译器,jdk默认自带的编译器。具体使用可参考以下链接: 1)http://baike.baidu.com/link?url=Uh4BmmygJyP3tthCNflTtSR...
  • ljlinjing
  • ljlinjing
  • 2015年12月27日 14:10
  • 6132

linux下编译工具的用途

GNU binutils是一组二进制工具集。Binutils是GNU工具之一,它包括连接器、汇编器和其他用于目标文件和档案的工具,它是二进制代码的处理维护工具。包括:addr2line ar gpro...
  • haokaihaohe110
  • haokaihaohe110
  • 2012年04月03日 17:35
  • 1170

java编译器API——使用编译工具

【0】README 0.1)以下内容转自: http://suntips.iteye.com/blog/69002 0.2)for basic java compiler API, please ...
  • PacosonSWJTU
  • PacosonSWJTU
  • 2016年02月22日 19:12
  • 954

rmic来生成代理的时候,总是提醒说找不到类

当用rmic来生成代理的时候,总是提醒说找不到类,原来是我在文件夹下的面的文件里写这样写着:pack testrmi所以它提示说并没有按预期的编译RMIServerClass这个类而是编译了testr...
  • fushengruoke
  • fushengruoke
  • 2010年05月10日 10:29
  • 1807
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jakarta-ant的使用(java编译工具)
举报原因:
原因补充:

(最多只允许输入30个字)