• 利用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.4in。

    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脚本代码

    •  1 <?xml version="1.0" encoding="UTF-8"?>  
       2   
       3 <!-- 定义一个工程,默认任务为warFile。 --> 
       4 <project name="awp" default="warFile" basedir=".">  
       5       
       6     <!-- 定义属性,打成war包的名称。 -->  
       7     <property name="warFileName" value="awp.war"></property>  
       8       
       9     <!-- 定义路径,编译java文件时用到的jar包。 --> 
      10     <path id="project.lib">  
      11         <fileset dir="${basedir}/lib">  
      12             <include name="**/*.jar"/>  
      13         </fileset>  
      14     </path>  
      15       
      16      <!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 -->  
      17     <target name="clean">  
      18         <delete dir="${basedir}/src/main/webapp/WEB-INF/classes" />  
      19         <mkdir dir="${basedir}/src/main/webapp/WEB-INF/classes" />  
      20     </target>  
      21       
      22    <!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 -->  
      23     <target name="build" depends="clean">  
      24         <javac srcdir="${basedir}/src/main/java" destdir="${basedir}/src/main/webapp/WEB-INF/classes" includeantruntime="false" source="1.6" target="1.6">  
      25             <classpath refid="project.lib">  
      26             </classpath>  
      27         </javac>
      28         
      29         <!--复制src/main/java下非java文件到/src/main/webapp/WEB-INF/classes-->
      30         
      31         <copy todir="${basedir}/src/main/webapp/WEB-INF/classes">
      32             <fileset dir="${basedir}/src/main/java">
      33                 <include name="**/**.*" />    
      34                 <exclude name="**/*.java"/>                  
      35             </fileset>
      36         </copy>
      37     </target>  
      38       
      39     <!-- 定义默认任务,将class文件集合成jar包。 --> 
      40     <target name="warFile" depends="build"> 
      41         <!--将lib文件夹下的jar打包到WEB-INF/lib下 -->
      42         
      43         <copy todir="${basedir}/src/main/webapp/WEB-INF/lib">
      44                             <fileset dir="${basedir}/lib">
      45                             
      46                             </fileset>
      47         </copy>
      48         <!-- 建立新war包。 -->  
      49         <war destfile="${basedir}/${warFileName}" webxml="${basedir}/src/main/webapp/WEB-INF/web.xml">  
      50             <!-- 将非jar和非class文件拷贝到war包的对应路径下。 -->   
      51                 <fileset dir="${basedir}/src/main/webapp">  
      52                       <include name="**/**.*" />  
      53                       <exclude name="**/*.jar"/>  
      54                       <exclude name="**/*.class"/>  
      55                 </fileset>  
      56             <!-- 将jar和class文件拷贝到war包的对应路径下。 -->  
      57                 <lib dir="${basedir}/src/main/webapp/WEB-INF/lib" />  
      58                 <classes dir="${basedir}/src/main/webapp/WEB-INF/classes" /> 
      59         </war>  
      60     </target>  
      61       
      62 </project>  
  • 相关阅读:
    201119西瓜书系列博客---1、绪论
    201119西瓜书系列博客---16、强化学习
    AlphaGo原理浅析
    201116西瓜书机器学习系列---16、强化学习
    201119西瓜书系列博客---13、半监督学习
    心得体悟帖---201119(感觉这种定期翻译自己的感悟,效果非常非常明显:以用为主的学习方针)
    jawaw: command not found
    [虚拟机] VMware 15 + CentOS 7.7/8.0在主机和客户机之间拷贝文件失败的解决办法
    Linux:centos 7 下载、安装、卸载.run文件
    linux,centos,ubuntu取消用户登录密码
  • 原文地址:https://www.cnblogs.com/lcngu/p/5031475.html
Copyright © 2020-2023  润新知