포스트

12. war

12. war

WAR(23. 11. 23)

war ( Web Application Archive)

  • 웹 애플리케이션 배포를 위한 패키지
  • 참고
  • tar (Tape Archive) : Uninx / linux archive utility
  • jar ( Java Archive )
  • war ( Web application Archive )

image01

  • /WEB-INF/*. ← 디렉터리 하위는 외부 요청에서 직접 참조 불가
  • /WEB-INF/classes class ← 파일들 위치
  • /WEB-INF/LIB ← 라이브러리 파일들 위치
  • web.xml
    • 배치 기술자 파일

maven-war-plugin

  • pom.xml의 dependency에 선언된 각종 라이브러리, java class 파일, resources를 모아서 하나의 Web Application Archive 형태의 압축 파일을 생성합니다.
  • pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.3.2</version>
            <configuration>
                <warSourceDirectory>src/main/webapp</warSourceDirectory>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>
</build>
  • goal
    • war:war
      • war로 압축된 상태로 배포 ( 사실 확장자만 war일뿐 zip으로 압축되어 있음)
    • war:exploded
      • 압축이 풀린 상태로 배포
    • war:in-place
    • 소스코드 /src, /target 디렉터리가 함께 생성됩니다.
  • 주로 war, exploded를 사용합니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.