[Intellij] 웹 어플리케이션 배포 위한 패키지 유형과 war, war(exploaed) 차이

Yuri Lee·2021년 7월 15일
3

배경

  • tomcat 으로 war 파일을 배포할 때 궁금증이 생겼다. war와 war(exploaed)의 차이가 무엇일까?

기본

  • 빌드(Build) : 소스코드 파일을 실행 가능한 소프트웨어 산출물로 만드는 일련의 과정을 말한다.
  • Maven에서 Artifact : maven build의 결과로 얻을 수 있는 일반적인 .jar나 .war 또는 여타의 실행 파일을 의미한다. 빌드로 생성되는 프로젝트의 결과물이다.
  • 배포(Deploy) : 응용 프로그램을 서버 상에서 활용할 수 있도록 구동시키는 것을 의미한다. 실행 가능한 파일을 서버에 올려 사용자가 이용할 수 있게 하는 것을 의미한다.

웹 어플리케이션 배포 위한 패키지 유형

1. package(archive)

  • 아카이브(.war, .ear) 파일로 배포
  • 아카이브는 WAS(Tomcat)에 의해 압축이 풀린다.
  • 파일이 많은 경우 압축을 푸는 시간이 오래 걸릴 수 있다.
  • 원격 서버에 배포시 한 개의 파일만 전송하면 된다.
  • WAS(Tomcat)에서 제공하는 업로드를 통한 배포 기능을 활용할 수 있다.

2. exploded(expanded)

  • 아카이브를 압축 해제한 형태의 디렉터리로 배포
  • 별도의 디렉터리에 원본 소스를 복사하여 만든다.
  • 압축 및 해제 과정이 불필요하다.
  • 파일이 많은 경우 복사하는 시간이 오래 걸릴 수 있다.
  • 원본 소스를 건드리지 않고 배포를 원하는 경우에 적합하다.
  • 원격 서버에 배포시 파일이 많은 경우 전송 시간이 오래 걸릴 수 있다

3. in-place

  • 소스 디렉터리(전체 또는 일부)를 그대로 배포
  • 추가적인 복사 과정 불필요하다.
  • 로컬 서버에 배포하는 경우에 적합하다.
  • WAS(Tomcat)가 런타임시 생성하는 파일이 소스와 섞일 수 있는 문제가 있다.

war, war(exploaed) 차이

  • xxxxx:war와 xxxxx:war exploded 가 존재하는데, exploded는 압축 해제 후 배포하는 방법을 의미한다.

https://gmlwjd9405.github.io/2018/12/24/intellij-tomcat-war-deploy.html

https://geunyang93.tistory.com/26

profile
Step by step goes a long way ✨

0개의 댓글