eclipse中ant打war包
注:有可能打包失败是eclipse没有集成的原因,用我自己的eclipse可以,同事那就有可能打包失败,一定要注意这点。
1、先在eclipse中集成或自己安装解压ant,总之有可用的ant就好。
2、照下图新建extlib(比如servlet-api.jar是tomcat里的包,ant打包需要但是引用不到的包都放入extlib文件夹),war(打成功的war包的位置)文件夹。

3、编写build.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="GBEMSSystemMGR" default="deploy" basedir="."><!--GBEMSSystemMGR是项目名称-->
    <!-- 判断当前系统是windows还是linux  -->
    <condition property="isWindows">
        <os family="windows" />
    </condition>
    <condition property="isLinux">
        <os family="unix" />
    </condition>
    <!-- 定义了一些变量 -->
    <property name="resource.dir" location="${basedir}/resources" />
    <property name="src.dir" location="${basedir}/src" />
    <property name="web.dir" location="${basedir}/WebRoot" />
    <property name="web.web-inf.dir" location="${web.dir}/WEB-INF" />
    <property name="lib.dir" location="${web.web-inf.dir}/lib" />
    <property name="classes.dir" location="${web.web-inf.dir}/classes" />
    <property name="ext.dir" location="${basedir}/extlib" />
    <!--定义一个时间戳-->
    <tstamp prefix="backup">
        <format property="time" pattern="yyyy-MM-dd.HH.mm.ss" />
    </tstamp>
    <!--path表示一个文件或路径名列表-->
    <path id="classpath">
        <!--Fileset 数据类型定义了一组文件-->
        <fileset dir="${lib.dir}">
        <!--该文件夹下所有以.jar结尾的文件-->
            <include name="*.jar" />
        </fileset>
        <!--Fileset 数据类型定义了一组文件-->
        <fileset dir="${ext.dir}">
        <!--该文件夹下所有以.jar结尾的文件-->
            <include name="*.jar" />
        </fileset>
    </path>
    <property name="war.file.path" location="${basedir}/war" />
    <property name="war.file.name" value="GBEMSSystemMGR.war" />
    <!-- =================================
          target: deploy
         ================================= -->
    <target name="deploy" depends="clean-classes-dir,copy-resource-to-classes,full-compile,war-app,deploy-under-windows">
        <echo>now you can start tomcat.</echo>
    </target>
    <target name="deploy-under-windows" if="isWindows">
        <!-- echo 往控制台输出一段话 -->
        <echo>一般使用Eclipse集成的tomcat进行测试,省略</echo>
    </target>
    <!-- =================================
              target: war-app
             ================================= -->
    <target name="war-app">
        <echo>make War ..</echo>
        <mkdir dir="${war.file.path}" />
            <!--将指定文件打成war包-->
        <war warfile="${war.file.path}/${war.file.name}" webxml="${web.web-inf.dir}/web.xml">
            <lib dir="${lib.dir}" />
            <classes dir="${classes.dir}" />
            <fileset dir="${web.dir}">
            </fileset>
        </war>
        <echo>War Success : ${war.file.path}/${war.file.name}</echo>
    </target>
    <!-- =================================
              target: full-compile
             ================================= -->
    <target name="full-compile" description="description">
        <echo>start compile.</echo>
            <!--编译,其中refild标签是引用之前定义的name为classpath的path文件或路径-->
        <javac encoding="utf-8" srcdir="${src.dir}" destdir="${classes.dir}" includeAntRuntime="false"  debug="true" >
            <classpath refid="classpath" />
        </javac>
        <javac encoding="utf-8" srcdir="${resource.dir}" destdir="${classes.dir}" includeAntRuntime="false"   debug="true">
                    <classpath refid="classpath" />
        </javac>
        <echo>full-compile successfully.</echo>
    </target>
    <!-- copy src/**/*.(xml|properties ...) to classes dir -->
    <target name="copy-resource-to-classes">
        <!--将指定文件拷贝到指定目录-->
        <copy todir="${classes.dir}">
            <fileset dir="${src.dir}">
                <!-- 表示除了以.java结尾的文件都包含-->
                <exclude name="**/*.java" />
            </fileset>
        </copy>
        <copy todir="${classes.dir}">
            <fileset dir="${resource.dir}">
                <!-- 表示除了以.java结尾的文件都包含-->
                <exclude name="**/*.java" />
            </fileset>
        </copy>
    </target>
    <!-- 删除整个classes目录 -->
    <target name="clean-classes-dir">
        <delete dir="${classes.dir}" />
        <echo>${classes.dir} deleted.</echo>
    </target>
</project>
eclipse中ant打war包的更多相关文章
- Eclipse中导入外部jar包步骤
		
昨天,学习了Jar包的打包过程,现在打算记录一下,如何在Eclipse中导入外部Jar包. 第一步:在项目中鼠标右键>>New>>点击Folder. 第二步:在弹出窗口将Fol ...
 - Eclipse中引来的jar包乱码
		
Eclipse中引入的jar包乱码jar包链接的源码,中文注释为乱码的解决方法: 1.将Eclipse的Preferences中的General>ContentTypes中的Java Class ...
 - eclipse springboot工程打war包方法及在Tomcat中运行的方法
		
一, eclipse springboot打war包 1. 配置pom.xml文件 <packaging>war</packaging> <!-- 配置servlet,打 ...
 - eclipse中如何打jar包
		
在eclipse中写个小测试程序(需要用到第三方jar文件),打成jar文件,然后到linux下执行做测试,查了很多资料也没有说怎么把第三方jar打入jar,使用ant,又太麻烦. 1 选择Mai ...
 - Eclipse中Ant的配置与测试 转
		
欢迎关注我的社交账号: 博客园地址: http://www.cnblogs.com/jiangxinnju/p/4781259.html GitHub地址: https://github.com/ji ...
 - tomcat中如何运行war包呢
		
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPQAAADRCAIAAAB0LAgsAAAQtklEQVR4nO2d7W/bxh3H9ZfZbRrFOj
 - Eclipse中Ant的配置与测试
		
在Eclipse中使用Ant Ant是Java平台下非常棒的批处理命令执行程序,能非常方便地自动完成编译,测试,打包,部署等等一系列任务,大大提高开发效率.如果你现在还没有开始使用Ant,那就要赶快开 ...
 - 如何在eclipse中引用第三方jar包
		
在用UiAutomator做手机自动化测试过程中,在UiAutomator的基础之上进一步封装了里边的方法,以使case开发更顺手.直接在工程的根目录下新建了个libs的文件夹,把封装好的框架打成ja ...
 - Eclipse中导入外部jar包
		
首先在项目下创建一个文件夹,保存我们的jar包. 在项目名上右击,依次点击[New]-->[Floder],打开新建文件夹窗口 输入文件夹名称[lib],点击[ok].我们通常在lib文件夹 ...
 
随机推荐
- oracle逐步学习总结之约束(基础五)
			
原创作品,转自请在文章明显位置注明出处:https://www.cnblogs.com/sunshine5683/p/10167717.html oracle中的约束主要有非空约束(not null) ...
 - spring中@Scope控制作用域
			
注解形势:通过@Scope注解控制作用域,默认使用单实例模式,可修改为多实例模式 /** * Specifies the name of the scope to use for the annota ...
 - MySQL入门详解(一)---mysql的语言
			
MySQL语言分为:DCL(数据库控制语言).DDL(数据库定义语言).DQL(数据库查询语言).DML(数据库操作语言),这一节我们先从mysql的语言开始. DCL:数据库控制语言,用来设置数据库 ...
 - CentOS7安装mongodb
			
1.下载mongodb的*.tar.gz安装包 2.移到centos7中并解压 tar -xzvf mongodb.tar.gz 3.配置环境变量 vim /etc/profile 添加如下内容: # ...
 - easyui+webuploader+ckeditor实现插件式多图片上传
			
需求:在ckeditor编辑器上实现多图片上传并要求另外单独选择ckeditor上传的图片作为封面 页面效果说明: 动态效果图: 第一步:页面布局 <html xmlns="http: ...
 - Nginx的虚拟主机
			
1.虚拟主机的概念和类型 1.1 概念: 所谓的虚拟主机,在web服务里面就是一个独立的网站站点,这个站点对应独立的域名(也有可能是IP或者端口),具有独立的程序和资源目录,可以独立的对外提供服务. ...
 - 获取windows鼠标的当前坐标
			
#先下载pyautogui库,pip install pyautogui import os,time import pyautogui as pag try: while True: print ( ...
 - Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
			
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
 - 分享一个android debug模式,出现 waiting for debugger把界面卡住,取巧的解决办法
			
使用android studio开发程序时,有时会出现 waiting for debugger 卡住界面,软件无法正常debug运行的情况,很多网友分享了一些解决办法,比如: 1 打开cmd进入命令 ...
 - python函数-匿名函数
			
1,匿名函数,故名思意,就是没有名字的函数. def fun(x): return x+x 上述代码的作用就是求x+x的和的函数.如果调用该函数的话,可以使用fun(1)即可.那么lambda函数和上 ...