利用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腳本代碼

  •  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>  

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM