-
WAR(Web Application Archive)스프링/스프링부트 2023. 9. 27. 22:43
JAR
자바는 여러 클래스와 리소스를 묶어서 JAR(Java Archive)라고 하는 압축 파일을 만드는데 JVM 위에서 실행되거나 다른 곳에서 사용하는 라이브러리를 제공한다.
WAR
WAR는 Web Application Archive의 약자로 웹 애플리케이션 서버(WAS)에 배포할 때 사용하는 파일이다. JAR 파일이 JVM 위에서 실행된다면 WAR는 웹 애플리케이션 서버 위에서 실행된다.
웹 애플리케이션 서버 위에서 실행되고, HTML 같은 정적 리소스와 클래스 파일을 모두 포함하기 때문에 JAR보다 훨씬 복잡하다.
WAR의 서버 사용 방법
지금은 모두 JAR만 사용하고 나도 프로젝트를 진행할 때 JAR로만 build를 했다. WAR라는 것이 있다는 것만 알고 있었는데 정확히 뭔지는 모르고 있었다.
WAR는 웹 애플리케이션을 사용하려면 압축 파일을 배포해야한다.
https://tomcat.apache.org/download-10.cgi
자바에서 WAR 파일로 빌드를 한 다음 위의 톰캣 서버를 다운로드한 경로의 webapps에 WAR 압축파일을 ROOT.war라는 이름으로 넣어두면 된다.
bash에서 ./startup.sh 명령어로 톰캣을 실행시켜주면 서버가 뜬다.
실행하면 war 파일의 압축이 자동으로 풀리게 된다.
자바 코드에 index html을 출력하는 코드가 있어서 서버를 실행했을 때 위와 같이 서버가 뜨게 된다.
WAR의 단점
- 톰캣 같은 WAS를 별도로 설치해야 함
- 개발 환경 설정이 복잡하다
- 배포 과정이 복잡하다
- 톰캣의 버전을 변경하려면 톰캣을 다시 설치해야 한다.
위와 같은 단점들 때문에 별도로 설치하지 않고 main() 메서드만 실행하면 웹 서버까지 같이 실행되는 내장 톰캣을 사용한다.
'스프링 > 스프링부트' 카테고리의 다른 글
외부 설정 3 - 커맨드 라인 인수 (0) 2023.09.30 외부 설정 2 - 자바 시스템 속성 (0) 2023.09.30 외부 설정 1 - OS 환경 변수 (0) 2023.09.30 외부 설정이란? (0) 2023.09.30 스프링 부트 자동 구성 (0) 2023.09.29