ant安装与使用
ant是jakarta一个非常好的OpenSource子项目,是基于java的编译工具。下面简单介绍一下在linux环境中如何安装ant:
1.下载
从 http://ant.apache.org/bindownload.cgi 可以下载最新的tar包:apache-ant-1.6.2.tar.gz,如果是windows环境则是zip文件,解压后,在系统环境变量里设置 ANT_HOME为f:project oolsapache-ant-1.6.2,并将f:project oolsapache- ant-1.6.2in目录添加到classpath中,然后就可以使用了
2./l安装,解压到/usrocal下
> tar zxpvf apache-ant-1.6.2.tar.gz
> ln -s apache-ant-1.6.2 ant
3.设置环境
将ANT_HOME设置到当前用户的.bash_profile文件/home/admin/.bash_profile
[admin@tangtang home]$ su - admin
[admin@tangtang home]$ vi .bash_profile
export ANT_HOME=/usr/local/ant
export PATH=/usr/local/ant/bin:$PATH
如果是windows环境,需要设置%ANT_HOME%,并把%ANT_HOME%in目录全路径加入到%path%中
4.测试
用ant命令测试运行情况
[admin@tangtang home]$ ant
Buildfile: build.xml does not exist!
Build failed
[admin@tangtang home]$ ant -version
Apache Ant version 1.6.2 compiled on July 16 2004
若出现这样的错误:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
这是linux系统默认安装了一些ant的lib,修改 /etc/ant.conf中 ANT_HOME=/usr/share/ant 为你正确安装ant的地址,如 /usr/local/ant
5、build脚本
如果是在linux环境中,下面是build脚本的一个范例:#build脚本
#! /bin/sh
# 进入到上级目录
cd `dirname $0`/..
# 获取当前目录为PROJECT_HOME
PROJECT_HOME=`pwd`
# 设置JAVA_HOME
export JAVA_HOME=/usr/cyber/java
# 得到CLASSPATH
CLASSPATH1=$CLASSPATH
# 添加CLASSPATH
CLASSPATH=${PROJECT_HOME}webappsWEB-INFconf:${PROJECT_HOME}webappsWEB-INFclasses:$CLASSPATH
# ant build,-buildfile 参数,是使用自定义的build.xml文件,$@是参数数组
/usr/local/ant/bin/ant -buildfile ${PROJECT_HOME}/build/build.xml "$@"
# build脚本结束
如果是在windows环境中,下面是build.bat脚本的一个范例:# build.bat
# 关闭echo显示
@echo off
# 设置%JAVA_HOME%
if "%JAVA_HOME%"=="" set JAVA_HOME=f: oolsjava
# 设置%ANT_HOME%
if "%ANT_HOME%"=="" set ANT_HOME=f: oolsant
# 设置PROJECT_HOME
set PROJECT_HOME = %CD%..
set CLASSPATH_BAK=%CLASSPATH%
set CLASSPATH=
# 执行build
%ANT_HOME%inant.bat -buildfile ..uilduild.xml %1 %2 %3 %4 %5 %6 %7 %8 %9
6、build配置文件
在${PROJECT_HOME}/build目录下面,需要定义两个文件,一个是build.properties,一个是build.xml
build.properties文件定义了build的一些常量# build.properties
project = tangtang
version = 1.1.1
# 采用classic编译,即采用ant编译
build.compiler = classic
# 采用jikes编译
#build.compiler = jikes
year = 2004
debug = on
optimize = on
deprecation = on
os = linux
author = tangtang
email = syvin_tom@hotmail.com
url = www.tangtang.org
company = tangtang.org
build.xml文件是ant编译的主要配置文件,ant功能强大,需要通过相应的配置项来表现。<?xml version="1.0" encoding="gb2312"?>
<!-- Build file for project -->
<project name="cyber" default="jar" basedir=".">
<property file="${user.home}/.ant.properties" />
<!-- ant build properties -->
<property file="build.properties"/>
<property name="build.dir" value=".."/>
<property name="build.src" value="${build.dir}/webapps/WEB-INF/src/java"/>
<property name="build.dest" value="${build.dir}/webapps/WEB-INF/classes"/>
<property name="build.lib" value="${build.dir}/webapps/WEB-INF/lib"/>
<property name="build.ext" value="./lib"/>
<property name="build.tpl" value="${build.dir}/webapps/WEB-INF/templates"/>
<property name="build.encoding" value="gb2312"/>
<property name="src.java.dir" value="../src/java"/>
<property name="javadoc.destdir" value="../docs/api"/>
<property name="javadoc.link" value="http://www.tangtang.org/java/docs/api/"/>
<property name="final.name" value="${project}-${version}"/>
<property name="dist.root" value="${build.dir}/dist"/>
<property name="dist.dir" value="${dist.root}/${final.name}"/>
<path id="classpath">
<pathelement path="${java.class.path}/"/>
<fileset dir="${build.lib}">
<include name="*.jar"/>
</fileset>
<fileset dir="${build.ext}">
<include name="*.jar"/>
</fileset>
</path>
<property name="classpath" refid="classpath"/>
<!-- =================================================================== -->
<!-- prints the environment -->
<!-- =================================================================== -->
<target name="env">
<echo message="build.compiler = ${build.compiler}"/>
<echo message="java.home = ${java.home}"/>
<echo message="user.home = ${user.home}"/>
<!--echo message="java.class.path = ${java.class.path}"/-->
<echo message="classpath = ${classpath}"/>
</target>
<!-- =================================================================== -->
<!-- Prepares the build directory -->
<!-- =================================================================== -->
<target name="prepare" depends="env">
<tstamp/>
<filter token="year" value="${year}"/>
<filter token="version" value="${version}"/>
<filter token="date" value="${DSTAMP}"/>
<!--
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dest}"/>
<mkdir dir="${build.src}"/>
-->
<!-- chose a class thats from j2ee.补充:软件开发 , Java ,
- 更多JAVA疑问解答:
- java怎么在线读取ftp服务器上的文件内容
- 关于程序员的职业规划
- HTML和JSP矛盾吗?
- java小程序如何打包?
- java怎么split路径文件名?
- jsp+javaBean中Column 'ordersPrice' specified twice的错误
- Java TCP/IP Socket网络编程系列
- 大家来讨论一下我到底该用什么好?Swing 还是 JavaFX
- 关于Hibernate实体自身多对一的抓取问题
- 关于apache2+tomcat群集出现的问题
- spring 获取上下文问题
- SSH 导入导出excel 谁有这块的资料吗?
- Ext TreePanel 刷新问题
- springmvc 加载一个jsp页面执行多个方法 报404
- checkbox数组action怎么向页面传值
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,