日期:2014-05-16  浏览次数:20724 次

[转 合并]Linux 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\tools\apache-ant-1.6.2,并将f:\project\tools\apache-ant
-1.6.2\bin目录添加到classpath中,然后就可以使用了

  2.安装,解压到/usr/local下
> tar zxpvf apache-ant-1.6.2.tar.gz
> ln -s apache-ant-1.6.2 ant

  3.设置环境
   (ant是基于java的,所以要先确保系统中已经安装了jdk)

???? vi /etc/profile,如下所示

Java代码
  1. # System wide environment and startup programs, for login setup??
  2. # Functions and aliases go in /etc/bashrc??
  3. JAVA_HOME=/usr/java/jdk??
  4. JAVA_BIN=/usr/java/jdk/bin??
  5. PATH=$JAVA_HOME/bin:$PATH??
  6. CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar??
  7. export JAVA_HOME JAVA_BIN PATH CLASSPATH??
  8. 以 下省略……??

?

添加如下内容:

Java代码
  1. ANT_HOME=/usr/local/apache-ant- 1.8 . 1 ??
  2. ??
  3. PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH??
Java代码
  1. export JAVA_HOME JAVA_BIN ANT_HOME PATH CLASSPATH??

?

修改后如下所示:

Java代码
  1. # System wide environment and startup programs, for login setup??
  2. # Functions and aliases go in /etc/bashrc??
  3. JAVA_HOME=/usr/java/jdk??
  4. JAVA_BIN=/usr/java/jdk/bin??
  5. ANT_HOME=/usr/local/apache-ant-1.8 . 1 ??
  6. PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH??
  7. CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar??
  8. export JAVA_HOME JAVA_BIN ANT_HOME PATH CLASSPATH?

?

  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}\webapps\WEB-INF\conf:${PROJECT_HOME}\webapps\WEB-INF\classes:$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:\tools\java
  # 设置%ANT_HOME%
  if "%ANT_HOME%"==""  set ANT_HOME=f:\tools\ant
  # 设置PROJECT_HOME
  set PROJECT_HOME = %CD%\..