Ant-WAR 파일 작성

Ant로 WAR 파일을 생성하는 것은 매우 간단하며 JAR 파일 생성 작업과 매우 유사합니다. 결국 JAR 파일과 같은 WAR 파일은 또 다른 ZIP 파일입니다.

WAR 태스크는 JAR 태스크의 확장이지만 WEB-INF / classes 폴더에 들어가는 내용을 조작하고 web.xml 파일을 생성하기위한 몇 가지 멋진 추가 기능이 있습니다. WAR 태스크는 WAR 파일의 특정 레이아웃을 지정하는 데 유용합니다.

WAR 태스크는 JAR 태스크의 확장이므로 JAR 태스크의 모든 속성이 WAR 태스크에 적용됩니다.

Sr. 아니. 속성 및 설명
1

webxml

web.xml 파일 경로

2

lib

WEB-INF \ lib 폴더에 들어갈 내용을 지정하는 그룹입니다.

classes

WEB-INF \ classes 폴더에 들어갈 항목을 지정하는 그룹입니다.

4

metainf

MANIFEST.MF 파일 생성 지침을 지정합니다.

계속 우리 Hello World팩스 응용 프로그램 프로젝트, 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 변수는 소스 웹 폴더, 즉 JSP, css, javascript 파일 등을 포함하는 폴더를 나타냅니다.

그만큼 build.dir변수는 출력 폴더를 참조합니다.-여기에서 WAR 패키지의 클래스를 찾을 수 있습니다. 일반적으로 클래스는 WAR 파일의 WEB-INF / classes 폴더에 번들로 제공됩니다.

이 예에서는 fax.war라는 war 파일을 만듭니다. WEB.XML 파일은 웹 소스 폴더에서 가져옵니다. 웹 아래의 'WebContent'폴더에있는 모든 파일이 WAR 파일로 복사됩니다.

WEB-INF / lib 폴더는 thirdpartyjars 폴더의 jar 파일로 채워집니다. 그러나 portlet.jar는 이미 애플리케이션 서버의 lib 폴더에 있으므로 제외합니다. 마지막으로 빌드 디렉토리의 웹 폴더에서 모든 클래스를 복사하여 WEB-INF / classes 폴더에 넣습니다.

Ant 대상 (일반적으로 패키지) 안에 전쟁 태스크를 래핑하고 실행합니다. 이렇게하면 지정된 위치에 WAR 파일이 생성됩니다.

클래스, lib, metainf 및 webinf 디렉터를 중첩하여 프로젝트 구조의 모든 위치에 흩어져있는 폴더에 상주 할 수 있습니다. 그러나 우수 사례는 웹 프로젝트가 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