Ant-creating-war-files

提供:Dev Guides
移動先:案内検索

Ant-WARファイルの作成

Antを使用したWARファイルの作成は非常に簡単で、JARファイルの作成タスクに非常に似ています。 結局、JARファイルのようなWARファイルは単なる別のZIPファイルです。

WARタスクはJARタスクの拡張機能ですが、WEB-INF/classesフォルダーに入る内容を操作し、web.xmlファイルを生成するための素晴らしい追加機能がいくつかあります。 WARタスクは、WARファイルの特定のレイアウトを指定するのに役立ちます。

WARタスクはJARタスクの拡張であるため、JARタスクのすべての属性がWARタスクに適用されます。

Sr.No. Attributes & Description
1

webxml

web.xmlファイルへのパス

2

lib

WEB-INF \ libフォルダーに入れるものを指定するグループ。

3

classes

WEB-INF \ classesフォルダーの内容を指定するグループ。

4

metainf

MANIFEST.MFファイルを生成するための指示を指定します。

*Hello World* Fax Applicationプロジェクトを続けて、jarファイルを生成する新しいターゲットを追加しましょう。 しかしその前に、戦争の課題を考えてみましょう。 次の例を考慮してください-
<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フォルダーにバンドルされます。

この例では、fax.warというwarファイルを作成しています。 WEB.XMLファイルは、Webソースフォルダーから取得されます。 Webの下の「WebContent」フォルダーのすべてのファイルがWARファイルにコピーされます。

WEB-INF/libフォルダーには、thirdpartyjarsフォルダーのjarファイルが取り込まれます。 ただし、portlet.jarはアプリケーションサーバーのlibフォルダーに既に存在するため、除外しています。 最後に、ビルドディレクトリのWebフォルダーからすべてのクラスをコピーし、WEB-INF/classesフォルダーに入れています。

warタスクをAntターゲット(通常はパッケージ)内にラップして実行します。 これにより、指定した場所にWARファイルが作成されます。

クラス、lib、metainf、webinfディレクタをネストして、プロジェクト構造のどこにでも散在するフォルダに配置することは完全に可能です。 ただし、ベストプラクティスでは、WebプロジェクトはWARファイルの構造に類似したWebコンテンツ構造を持つ必要があることを示唆しています。 FAXアプリケーションプロジェクトの構造は、この基本原則を使用して概説されています。

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を実行すると、 fax.war ファイルが作成されます。

次の結果は、Antファイルを実行した結果です-

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

BUILD SUCCESSFUL
Total time: 12.3 seconds

fax.warファイルは、出力フォルダーに配置されます。 戦争ファイルの内容は次のようになります-

fax.war:
   +---jsp             This folder contains the jsp files
   +---css             This folder contains the stylesheet files
   +---js              This folder contains the javascript files
   +---images          This folder contains the image files
   +---META-INF        This folder contains the Manifest.Mf
   +---WEB-INF
      +---classes   This folder contains the compiled classes
      +---lib       Third party libraries and the utility jar files
      WEB.xml       Configuration file that defines the WAR package