在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 物聯(lián)網/ 生成 WAR 文件
生成 WAR 文件
JUnit 集成
環(huán)境搭建
Eclipse 集成
部署應用
屬性任務
擴展 Ant
?# 執(zhí)行 Java 代碼
構建項目
構建文件
數(shù)據(jù)類型
生成 JAR 文件
生成文檔
屬性文件
封裝應用
介紹

生成 WAR 文件

使用 Ant 創(chuàng)建 WAR 文件是極其簡單的。這與創(chuàng)建 JAR 文件任務非常類似。 畢竟,WAR 文件與 JAR 文件只是兩種不同的 ZIP 文件。

WAR 任務是 JAR 任務的一個擴展,但是其對控制哪些文件進入 WEB-INF/classes 文件夾和生成 web.xml 文件進行了一些很好的補充。WAR 任務對指定 WAR 文件布局是非常有用的。

既然 WAR 任務是 JAR 任務的一個擴展,JAR 任務的所有的屬性都適用于 WAR 任務。

屬性 描述
webxml web.xml 文件的路徑
lib 指定什么文件可以進入 WEB-INF\lib 文件夾的一個組
classes 指定什么文件可以進入 WEB-INF\classes 文件夾的一個組
metainf 指定生成 MANIFEST.MF 文件的指令

繼續(xù)我們的 Hello World 傳真應用項目,讓我們添加一個新的目標來生成 jar 文件。 但是在此之前,我們需要考慮一下 war 任務。 請看下面的例子:

<war destfile = "fax.war" webxml = "${web.dir}/web.xml">

   <fileset dir = "${web.dir}/WebContent">
      <include name = "**/*.*"/>
   </fileset>

   <lib dir = "thirdpartyjars">
      <exclude name = "portlet.jar"/>
   </lib>

   <classes dir = "${build.dir}/web"/>

</war>

按照前面的例子中,web.dir 變量指向源 web 文件夾,即該文件包含 JSP,css 和 javascript 文件等等。

該 build.dir 變量指向輸出文件夾,WAR 的包能在該文件夾下找到。 通常情況下, 類將被綁定到 WAR 文件下的 WEB-INF/classes 文件夾下。

在這個例子中,我們創(chuàng)建了一個名為 fax.war 的 war 文件。WEB.XML 文件可以從 web 源文件中獲取。 所有 web 下來自 “WebContent” 的文件都被復制到 WAR 文件中。

WEB-INF/lib 文件夾中存儲了來自于第三方 jar 文件夾中的 jar 文件。但是,我們排除了 portlet.jar,因為該 jar 文件已經存在于應用服務器的 lib 文件夾中了。最后,我們從一個構建目錄下的 web 文件夾中復制所有的類,并將復制的類全部放入 WEB-INF/classes 文件夾下。

將一個 war 任務封裝到一個 Ant 任務中并運行它。 這將在指定位置創(chuàng)建一個 WAR 文件。

類,庫,metainf 和 webinf 目錄完全可以進行嵌套以使得他們都能存在于項目結構下分散的文件夾中。 但是最佳的實踐建議是,你的 web 項目的 web 內容架構應該與 WAR 文件類似。 傳真應用項目的架構就是使用了這個基本原理。

要執(zhí)行 war 任務,將其封裝在一個目標里面,最常見的是,構建目標或者是包目標,然后運行它們。

<target name="build-war">

   <war destfile="fax.war" webxml="${web.dir}/web.xml">
      <fileset dir="${web.dir}/WebContent">
         <include name="**/*.*"/>
      </fileset>

      <lib dir="thirdpartyjars">
         <exclude name="portlet.jar"/>
      </lib>

      <classes dir="${build.dir}/web"/>
   </war>

</target>

在這個文件上運行 Ant 會替我們創(chuàng)建 fax.war 文件。

下述的輸出就是運行 Ant 文件的結果:

>C:\>ant build-war
>Buildfile: C:\build.xml

>BUILD SUCCESSFUL
>Total time: 12.3 seconds

該 fax.war 文件當前被放置在輸出文件夾中。war 文件的內容如下所示:

>fax.war:
   >+---jsp :這個文件夾包含了 jsp 文件
   >+---css :這個文件夾包含了 stylesheet 文件
   >+---js :這個文件夾包含了  javascript 文件
   >+---images:這個文件夾包含了  image 文件
   >+---META-INF:這個文件夾包含了  Manifest.Mf
   >+---WEB-INF
           >+---classes :這個文件夾包含了編譯好的類
          >+---lib :第三方庫和使用程序 jar 文件
          >WEB.xml :定義 WAR 包的配置文件 
上一篇:部署應用