스프링부트 RestAPI 서버를 배포하기 위한 전처리 과정이 필요. swagger이외에 AWS EC2, Netlify, Heroku 등등 서버에 배포하려면 프로젝트를 war또는 jar파일로 export해야한다.
기본적으로 JAR, WAR 모두 Java의 jar 옵션 (java -jar)을 이용해 생성된 압축(아카이브) 파일로, 애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성 파일 등)을 패키징 한 것
Servlet / Jsp 컨테이너에 배치할 수 있는 웹 애플리케이션(Web Application) 압축파일 포맷
웹 관련 자원을 포함함 (JSP, Servlet, JAR, Class, XML, HTML, Javascript)
사전 정의된 구조를 사용함 (WEB-INF, META-INF)
별도의 웹서버(WEB) or 웹 컨테이너(WAS) 필요
JAR파일의 일종으로 웹 애플리케이션 전체를 패키징 하기 위한 JAR 파일이다.
SpringBoot를 사용한다면 Jar
JAR, WAR 파일 애플리케이션 리소스를 패키징 하는 방법에 차이가 있을 뿐, 뭘 사용해야 하느냐는 개발자의 판단에 따름.
꼭 WAR를 사용해야만 하는 이유(꼭 JSP를 사용하여 화면을 구성해야 한다 / 외장 WAS를 이용할 계획이 있다)가 아니라면 뭘 사용할지에 대한 완벽한 해답은 없다.
하지만 Sprinag boot에서 가이드하는 표준은 JAR(JSP, 외장톰켓을 안사용)이니까 JAR를 사용하여 서비스하는 것이 좋다.
상위 탭에 view -> Tool Windows -> Maven 클릭
clean -> complie -> install을 순서대로 누른다
.m2 폴더에 내 패키지 폴더를 보면 war파일이 만들어져있다.
File -> Project Structure -> Artifacts -> + 버튼 -> JAR -> From modules with dependences 클릭
Build -> Build Artifacts 클릭
Action -> Build 클릭
out폴더 -> artifacts -> project.jar 파일 생성