Linux下使用ant部署MyEclipse Web工程
2015-12-12 18:17
465 查看
1.环境变量设置
首先,确定自己的/etc/profile或者/${HOME}/.bashrc下有如下的环境设置:
------
#set java env
export JAVA_HOME=xxx
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
#set tomcat env
export TOMCAT_HOME=xxx
#set ant env
export ANT_HOME=xxx
export PATH=$PATH:$ANT_HOME/bin
------
有了以上的设置,就可以使用<property environment="env"/>来找到相关的环境变量。
在shell下可以
[root@localhost ~]# env
查看环境变量。
2.ant脚本位置
根据MyEclipse下Web工程的文件位置放置build.xml(与WebRoot同层):
------
|-src
|-WebRoot
|-WEB-INF
|-META-INF
|-build.xml
------
3.build.xml
该脚本可以将当前的Web工程编译并部署到你的Tomcat的webapps目录下,为避免在webapps下出现工程名相同而覆盖的情况,将使用当前部署时间作为工程名。注意,这里假定使用Tomcat6,它的/lib目录有别于Tomcat5。
<?xml version="1.0" encoding="utf-8"?>
<project name="myDeploy" default="all" basedir=".">
<property name="build.dir" value="${basedir}/build"/>
<property name="src" value="${basedir}/src"/>
<property name="build.webinf" value="${basedir}/build/WEB-INF"/>
<property name="build.weblib" value="${basedir}/build/WEB-INF/lib"/>
<property name="build.metainf" value="${basedir}/build/META-INF"/>
<property name="build.dest" value="${basedir}/build/WEB-INF/classes"/>
<property environment="env"/>
<target name="init">
<tstamp/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.webinf}"/>
<mkdir dir="${build.weblib}"/>
<mkdir dir="${build.metainf}"/>
<mkdir dir="${build.dest}"/>
<copy todir="${build.dir}">
<fileset dir="${basedir}/WebRoot">
<include name="**"/>
</fileset>
</copy>
</target>
<target name="compile" depends="init">
<property name="servletapi"
value="${env.TOMCAT_HOME}/lib/*.jar"/>
<property name="locallib"
value="${build.weblib}/*.jar"/>
<javac srcdir="${src}" destdir="${build.dest}" classpath="${servletapi};${locallib}"/>
</target>
<target name="deploy" depends="compile">
<property name="deploy.dir" value="${env.TOMCAT_HOME}/webapps/${DSTAMP}${TSTAMP}"/>
<mkdir dir="${deploy.dir}"/>
<copy todir="${deploy.dir}">
<fileset dir="${build.dir}">
<include name="**"/>
</fileset>
</copy>
</target>
<target name="clean" depends="init">
<delete dir="${build.dir}"/>
</target>
<target name="all" depends="deploy,clean"
description="deploys the project to tomcat and cleans the build files."/>
</project>
首先,确定自己的/etc/profile或者/${HOME}/.bashrc下有如下的环境设置:
------
#set java env
export JAVA_HOME=xxx
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
#set tomcat env
export TOMCAT_HOME=xxx
#set ant env
export ANT_HOME=xxx
export PATH=$PATH:$ANT_HOME/bin
------
有了以上的设置,就可以使用<property environment="env"/>来找到相关的环境变量。
在shell下可以
[root@localhost ~]# env
查看环境变量。
2.ant脚本位置
根据MyEclipse下Web工程的文件位置放置build.xml(与WebRoot同层):
------
|-src
|-WebRoot
|-WEB-INF
|-META-INF
|-build.xml
------
3.build.xml
该脚本可以将当前的Web工程编译并部署到你的Tomcat的webapps目录下,为避免在webapps下出现工程名相同而覆盖的情况,将使用当前部署时间作为工程名。注意,这里假定使用Tomcat6,它的/lib目录有别于Tomcat5。
<?xml version="1.0" encoding="utf-8"?>
<project name="myDeploy" default="all" basedir=".">
<property name="build.dir" value="${basedir}/build"/>
<property name="src" value="${basedir}/src"/>
<property name="build.webinf" value="${basedir}/build/WEB-INF"/>
<property name="build.weblib" value="${basedir}/build/WEB-INF/lib"/>
<property name="build.metainf" value="${basedir}/build/META-INF"/>
<property name="build.dest" value="${basedir}/build/WEB-INF/classes"/>
<property environment="env"/>
<target name="init">
<tstamp/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.webinf}"/>
<mkdir dir="${build.weblib}"/>
<mkdir dir="${build.metainf}"/>
<mkdir dir="${build.dest}"/>
<copy todir="${build.dir}">
<fileset dir="${basedir}/WebRoot">
<include name="**"/>
</fileset>
</copy>
</target>
<target name="compile" depends="init">
<property name="servletapi"
value="${env.TOMCAT_HOME}/lib/*.jar"/>
<property name="locallib"
value="${build.weblib}/*.jar"/>
<javac srcdir="${src}" destdir="${build.dest}" classpath="${servletapi};${locallib}"/>
</target>
<target name="deploy" depends="compile">
<property name="deploy.dir" value="${env.TOMCAT_HOME}/webapps/${DSTAMP}${TSTAMP}"/>
<mkdir dir="${deploy.dir}"/>
<copy todir="${deploy.dir}">
<fileset dir="${build.dir}">
<include name="**"/>
</fileset>
</copy>
</target>
<target name="clean" depends="init">
<delete dir="${build.dir}"/>
</target>
<target name="all" depends="deploy,clean"
description="deploys the project to tomcat and cleans the build files."/>
</project>
相关文章推荐
- linux用户及权限管理
- centos文件和windows文件共享
- linux 基本命令
- linux锁机制分析
- linux用户及权限管理
- Linux man命令的使用方法
- Linux下常用压缩格式的压缩与解压方法
- uclinux 与 linux的区别
- Linux TTY子系统学习笔记
- linux 添加新硬盘
- linux 硬盘限额
- Ubuntu:编译Linux"内核源代码"和"内核模块"
- Linux批量管理服务器小工具--PSSH
- Linux下C++的编程——GDB进行程序调试
- linux vim编辑器
- linux下svn命令使用大全
- phpStudy for Linux (lnmp+lamp一键安装包)
- 进程kill的方法
- linux SO文件
- linux 源码安装php5.6