java利用Ant脚本生成war包全过程

使用ant脚本前的准备
1、下载一个ant安装包。如:apache-ant-1.8.4-bin.zip。解压到E盘。

2、配置环境变量。新增ANT_HOME:E:\apache-ant-1.8.4;PATH增加:E:\apache-ant-1.8.4\bin。

3、检查ant是否配置完成。运行->cmd输入:ant -version。查看是否打印ant的版本号。

打包的实质
生成jar包的实质

1、编译工程src文件夹下的java文件,生成相应的class文件。

2、将所有的class文件集合成jar包。

生成war包的实质

1、编译工程src文件夹下的java文件,生成相应的class文件。

2、将工程WebContent下的除了class文件和jar包以外的文件,全部拷贝到war包的对应目录下。

3、将编译生成的class文件,全部拷贝到war包WEB-INF/classes文件夹下。

4、将工程lib中的jar包,全部拷贝到war包的WEB-INF/lib下。最后压缩成war包。

一个生成war包的ant脚本代码

<?xml version="1.0" encoding="UTF-8"?> 

<!-- 定义一个工程,默认任务为warFile。 -->
<project name="awp" default="warFile" basedir="."> 

 <!-- 定义属性,打成war包的名称。 -->
 <property name="warFileName" value="awp.war"></property> 

 <!-- 定义路径,编译java文件时用到的jar包。 -->
 <path id="project.lib">
  <fileset dir="${basedir}/lib">
   <include name="**/*.jar"/>
  </fileset>
 </path> 

  <!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 -->
 <target name="clean">
  <delete dir="${basedir}/src/main/webapp/WEB-INF/classes" />
  <mkdir dir="${basedir}/src/main/webapp/WEB-INF/classes" />
 </target> 

 <!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 -->
 <target name="build" depends="clean">
  <javac srcdir="${basedir}/src/main/java" destdir="${basedir}/src/main/webapp/WEB-INF/classes" includeantruntime="false" source="1.6" target="1.6">
   <classpath refid="project.lib">
   </classpath>
  </javac>

  <!--复制src/main/java下非java文件到/src/main/webapp/WEB-INF/classes-->

  <copy todir="${basedir}/src/main/webapp/WEB-INF/classes">
   <fileset dir="${basedir}/src/main/java">
    <include name="**/**.*" />
    <exclude name="**/*.java"/>
   </fileset>
  </copy>
 </target> 

 <!-- 定义默认任务,将class文件集合成jar包。 -->
 <target name="warFile" depends="build">
  <!--将lib文件夹下的jar打包到WEB-INF/lib下 -->

  <copy todir="${basedir}/src/main/webapp/WEB-INF/lib">
       <fileset dir="${basedir}/lib">

       </fileset>
  </copy>
  <!-- 建立新war包。 -->
  <war destfile="${basedir}/${warFileName}" webxml="${basedir}/src/main/webapp/WEB-INF/web.xml">
   <!-- 将非jar和非class文件拷贝到war包的对应路径下。 -->
    <fileset dir="${basedir}/src/main/webapp">
      <include name="**/**.*" />
      <exclude name="**/*.jar"/>
      <exclude name="**/*.class"/>
    </fileset>
   <!-- 将jar和class文件拷贝到war包的对应路径下。 -->
    <lib dir="${basedir}/src/main/webapp/WEB-INF/lib" />
    <classes dir="${basedir}/src/main/webapp/WEB-INF/classes" />
  </war>
 </target> 

</project>

以上就是本文的全部内容,希望对大家的学习有所帮助。

(0)

相关推荐

  • Java自动化工具Ant的基础使用教程

    Ant 是什么? Apache Ant 是一个基于Java 的生成工具.据最初的创始人 James Duncan Davidson 介绍,这个工具的名称是 another neat tool(另一个整洁的工具) 的首字母缩写. Ant的作用: 生成工具在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式(也有可能转换为可安装的产品映像形式).随着应用程序的生成过程变得更加复杂,确保在每次生成期间都使用精确相同的生成步骤,同时实现尽可能多的自动化,以便及时产生一致的生成版本,这就变得更加重

  • java ant 配置及构建项目图文教程

    Ant是一种基于Java的构建工具.Ant文件是配置构建目标过程的XML文件,也称为Ant脚本.(因为对这个不是很了解,所以用词方面可能于个人的理解有偏差,谢谢指出) 如何配置Ant工具呢?下面分步骤说明:1.  下载一个java ant 开发工具,解压到相应的磁盘    例如版本:apache-ant-1.8.2-bin.tar.zip:已上传资源 2. 打开命令行,开始--- 运行----cmd --回车,然后输入ant,它会有提示说这个不是内部文件的字样.这时候用到第三部配置环境 3. 右

  • Java操作Ant压缩和解压文件及批量打包Anroid应用

    实现zip/tar的压缩与解压 java中实际是提供了对  zip等压缩格式的支持,但是为什么这里会用到ant呢? 原因主要有两个: 1. java提供的类对于包括有中文字符的路径,文件名支持不够好,你用其它第三方软件解压的时候就会存在乱码.而ant.jar就支持文件名或者路径包括中文字符. 2. ant.jar提供了强大的工具类,更加方便于我们对压缩与解压的操作. 注意事项: 1. 首先说明一下,关于皮肤或者类似于皮肤的Zip包,实际上公司可能会根据自己的规定或需求,自定义压缩包文件的结尾,实

  • Java并发编程之显示锁ReentrantLock和ReadWriteLock读写锁

    在Java5.0之前,只有synchronized(内置锁)和volatile. Java5.0后引入了显示锁ReentrantLock. ReentrantLock概况 ReentrantLock是可重入的锁,它不同于内置锁, 它在每次使用都需要显示的加锁和解锁, 而且提供了更高级的特性:公平锁, 定时锁, 有条件锁, 可轮询锁, 可中断锁. 可以有效避免死锁的活跃性问题.ReentrantLock实现了 Lock接口: 复制代码 代码如下: public interface Lock {  

  • java ant包中的org.apache.tools.zip实现压缩和解压缩实例详解

    java ant包中的org.apache.tools.zip实现压缩和解压缩实例详解 其实apache中的ant包(请自行GOOGLE之ant.jar)中有一个更好的类,已经支持中文了,我们就不重复制造轮子了,拿来用吧, 这里最主要的功能是实现了 可以指定多个文件 到同一个压缩包的功能 用org.apache.tools.zip压缩/解压缩zip文件的例子,用来解决中文乱码问题. 实例代码: import Java.io.BufferedInputStream; import java.io.

  • java利用Ant脚本生成war包全过程

    使用ant脚本前的准备 1.下载一个ant安装包.如:apache-ant-1.8.4-bin.zip.解压到E盘. 2.配置环境变量.新增ANT_HOME:E:\apache-ant-1.8.4:PATH增加:E:\apache-ant-1.8.4\bin. 3.检查ant是否配置完成.运行->cmd输入:ant -version.查看是否打印ant的版本号. 打包的实质 生成jar包的实质 1.编译工程src文件夹下的java文件,生成相应的class文件. 2.将所有的class文件集合成

  • 浅析idea生成war包放入tomcat的路径访问问题

    点击右上角project structure或者左上角File-project structure打开project structure文件结构,选中atrifacts,点击+,选中web apllication archive,然后选中要打包的项目,打包后的文件后生成在output directory指定的目录中. 点击bulid栏目,选中build artifacts ,选中要打包的栏目,点击bulid,然后会在指定的output dierectory 目录中看到对应的war包. 2. 关于

  • Java编译器用maven打war包出错解决办法

    在用maven打包时,出现过如下两个错误: 错误1:程序包javax.servlet不存在,程序包javax.servlet.http不存在 错误2:No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:comp

  • java利用时间格式生成唯一文件名的方法

    前言 有时候我们需要截图,在要截图时,有人用到了时间格式,但是时间格式中的:在文件名称中是不被允许的字符,所以就会报错,如何生成唯一的时间文件名: 示例代码 package com.demo; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar;

  • Linux利用Shell脚本部署jar包项目的完整步骤

    一.安装JDK 查看电脑的操作位数: uname -ar 2017 x86_64 x86_64 x86_64 GNU/Linux 如果这里显示是64位的就下载相应64位的包 jdk的下载地址,推荐下载tar.gz的包 www.oracle.com/technetwork- 下面开始正式的安装jdk 1.上传jdk的安装包到 /root jdk-8u131-linux-x64.tar.gz 2.确认系统是否已经安装过jdk rpm -qa|grep jdk rpm -e --nodeps 软件名称

  • 利用Python脚本生成sitemap.xml的实现方法

    安装lxml 首先需要pip install lxml安装lxml库. 如果你在ubuntu上遇到了以下错误: #include "libxml/xmlversion.h" compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Cleaning up... Removing tempo

  • Java利用Swagger2自动生成对外接口的文档

    一直以来做对外的接口文档都比较原始,基本上都是手写的文档传来传去,最近发现了一个新玩具,可以在接口上省去不少麻烦. swagger是一款方便展示的API文档框架.它可以将接口的类型最全面的展示给对方开发人员,避免了手写文档的片面和误差行为. swagger目前有两种swagger和swagger2两种,1比较麻烦,所以不考虑使用.本文主要记录我用swagger2做对外接口的两种方式,方面后面查阅. 一.使用传统的springmvc整合swagger2 1.maven依赖 <!--springfo

  • Lua脚本自动生成APK包

    上次用了纯bat写了个脚本生成APK包,感觉bat扩展性和语法差的令人发指,这次用lua重写了一个脚本 可以根据需要自行扩展了. 使用前tool path 还有 target path的前两个还是需要自己设置下. 一些小的函数 jit_file copy_file 我就不贴了 比较简单,用来luajit 和 拷贝. -- Authors: sails鸢@oschina -- Date: 20th , August , 2014 -- Note: -- This is used for Cocos

  • SpringBoot war包部署到Tomcat服务器

    (1)pom.xml文件修改<packaging>war</packaging>,默认是jar包,<build>节点中增加<finalName>springboot</finalName>,即生成war包的名字,完整pom.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.

  • SpringBoot打成war包在tomcat或wildfly下运行的方法

    springboot默认的打包方式为jar包,jar包的有优点是不需要更改的配置,并且内嵌了tomcat,如果打成jar包直接可以丢到docker中运行测试.但是考虑到前端代码只能打成war包,因此干脆也将后端代码打成war包和前端的代码一起放在tomcat容器中的webapps中运行就好了. SpringBoot打包形式 默认情况下,创建的SpringBoot项目是按照jar包形式来进行打包的.同时,内置了tomcat的容器. 那么,此时如果想让springboot打包成war包,并部署到wi

随机推荐