eclipse Ant打war包自动部署到Tomcat

时间:2021-08-14 18:38:27

Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。

Eclipse里面内置了Ant可以直接编写构建文件build.xml运行即可。

 eclipse Ant打war包自动部署到Tomcat

<?xml version="1.0" encoding="gbk"?>

<project name="ABCAS" default="deploy" basedir="." >
 
 <property name="src.dir"   value="src" description="项目本身src"/>
 <property name="webcontent.dir" value="WebContent" description="项目本身"/>
 <property name="lib.dir"   value="WEB-INF/lib"/>
 <property name="web-inf.dir"  value="${webcontent.dir}/WEB-INF"/>
 <property name="build.dir"   value="build" description="存放生成的class"/>
 <property name="dist.dir"   value="dist" description="存放war和javac"/>
 
 <property name="tomcat.home" value="D:\Tomcat 6.0\webapps" description="tomcat webapps路径"/>
 
 <path id="project.classpath" description="jar路径">
   <fileset dir="${webcontent.dir}/${lib.dir}">
    <include name="*.jar"/>
   </fileset>
 </path>
 
 <target name="clean">
  <delete dir="${build.dir}"></delete>
  <delete dir="${dist.dir}"></delete>
  <delete file="${tomcat.home}/${ant.project.name}.war"></delete>
  <delete dir="${tomcat.home}/${ant.project.name}"></delete>
 </target>
 
 <target name="init" depends="clean">
  <mkdir dir="${build.dir}/classes"/>
  <mkdir dir="${dist.dir}"/>
 </target>
 
 <target name="compile" depends="init" description="编译java文件">
  <javac srcdir="${src.dir}"  destdir="${build.dir}/classes">
   <compilerarg line="-encoding GBK"/>
   <classpath refid="project.classpath"></classpath>
  </javac>
  <copy todir="${build.dir}/classes">
   <fileset dir="${src.dir}">
    <include name="*.xml"/>
    <include name="*.jar"/>
    <include name="log4j.properties"/>
   </fileset>   
  </copy>
 </target>

 <target name="publish" depends="compile">
  <war destfile="${dist.dir}/${ant.project.name}.war" basedir="${webcontent.dir}" webxml="${web-inf.dir}/web.xml">
   <classes dir="${build.dir}/classes"></classes>
   <lib dir="${webcontent.dir}/${lib.dir}"></lib>
   <fileset dir="WebContent"/>
  </war>
 </target>
 
 <target name="deploy" depends="publish">
  <copy file="${dist.dir}/${ant.project.name}.war" todir="${tomcat.home}"></copy>
 </target>
 
</project>


运行上面文件就可以把web项目打成war包放入到Tomcat/webApps目录下。只需要重新启动Tomcat服务器就可以运行项目了。

注意事项:

1、路径的问题,可以用Eclipse导出一份war文件和自己用程序导出的war做对比,知道自己少了什么文件或者把文件放置的位置不对。当然是解压后的war;

2、字符集问题,一般的编码都是GBK。如果构建文件设置了,出现报错报找不到符号,找不到类问题。

javax.servlet.http.HttpServlet;   
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
javax.servlet.http.HttpServlet;javax.servlet.http.HttpServletRequest;javax.servlet.http.HttpServletResponse;

把Tomcat/lib下的servlet-api.jar 拷贝到java安装目录jre/lib/ext里面。如:C:\Java\jdk1.6.0_26\jre\lib\ext;

3、eclipse运行时卡住,那就有可能你javac编译文件时出错,可以用ant运行会显示相应的报错信息。去apache下载ant.zip解压后就可以用。要配置环境变量,ANT_HOME:C:\apache-ant-1.9.2;PATH:%ANT_HOME%\bin;如果成功在cmd里面输入ant -version 会出现相应ant版本,即安装成功。把路径设置到你要编译build.xml下就可以用ant 命令编译构建文件。如果你的构建文件改名了xx.xml 那就用ant -f xx.xml命令编译。

eclipse Ant打war包自动部署到Tomcat

eclipse Ant打war包自动部署到Tomcat

BUILD SUCCESSFUL ,在Tomcat/WebApps下面就会有你创建的war文件了。

本文只是自己留下痕迹,标签解释没有,假如你帮到你最好假如不能,你去看百度就好了。