📜  蚂蚁-创建WAR文件

📅  最后修改于: 2020-11-18 07:54:54             🧑  作者: Mango


使用Ant创建WAR文件非常简单,并且与创建JAR文件任务非常相似。毕竟,WAR文件(例如JAR文件)只是另一个ZIP文件。

WAR任务是JAR任务的扩展,但它具有一些不错的附加功能,可以处理进入WEB-INF / classes文件夹的内容并生成web.xml文件。 WAR任务对于指定WAR文件的特定布局很有用。

由于WAR任务是JAR任务的扩展,因此JAR任务的所有属性都适用于WAR任务。

Sr.No. Attributes & Description
1

webxml

Path to the web.xml file

2

lib

A grouping to specify what goes into the WEB-INF\lib folder.

3

classes

A grouping to specify what goes into the WEB-INF\classes folder.

4

metainf

Specifies the instructions for generating the MANIFEST.MF file.

继续我们的Hello World Fax Application项目,让我们添加一个新目标以生成jar文件。但是在此之前,让我们考虑一下战争任务。考虑以下示例-


   
      
   
   
   
      
   
   
   

根据前面的示例, web.dir变量引用源Web文件夹,即包含JSP,css,javascript文件等的文件夹。

build.dir变量引用输出文件夹-在这里可以找到WAR包的类。通常,这些类将捆绑到WAR文件的WEB-INF / classes文件夹中。

在此示例中,我们将创建一个名为Fax.war的战争文件。从Web源文件夹中获取WEB.XML文件。 Web下“ WebContent”文件夹中的所有文件都将复制到WAR文件中。

WEB-INF / lib文件夹中填充了thirdpartyjars文件夹中的jar文件。但是,我们排除了portlet.jar,因为它已经存在于应用程序服务器的lib文件夹中。最后,我们从构建目录的web文件夹中复制所有类,并将其放入WEB-INF / classes文件夹中。

将战争任务包装在Ant目标(通常是程序包)中并运行它。这将在指定位置创建WAR文件。

完全有可能嵌套类,lib,metainf和webinf控制器,以便它们位于项目结构中任何位置的分散文件夹中。但是最佳实践建议您的Web项目应具有与WAR文件的结构相似的Web内容结构。传真应用程序项目使用此基本原理来概述其结构。

要执行战争任务,请将其包装在一个目标(通常是构建或打包目标)中,然后运行它们。


   
      
         
      
      
      
         
      
      
      
   

在此文件上运行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