[SpringBoot] 이클립스(STS) 에서 스프링부트(Spring Boot) jar, war 파일 배포하기

[SpringBoot] 이클립스(STS) 에서 스프링부트(Spring Boot) jar, war 파일 배포하기

우선 이클립스(STS) 에서 만든 스프링부트(Spring Boot) 프로젝트가 있어야 한다.

스프링부트 프로젝트가 없다면 다음 포스트를 참고해서 만들면 된다. ([SpringBoot] 이클립스(STS) 에서 스프링부트(Spring Boot) 시작하기 : https://blog.naver.com/bb_/222141978468 )

1. 배포 확장자 설정(war 또는 jar)

jar 파일로 배포할 것인지 war 파일로 배포할 것인지 결정해서 pom.xml 을 열고 입력하자.

<packaging> 태그값을 바꾸면 된다. 기존에 해당 태그가 없다면 추가하자.

나는 war를 선택했는데 이유는 jsp를 사용하기 위해서다.

STS 상에서 기동하면 jsp가 잘 나오더라도, jar로 만들어서 java -jar 로 기동하면 jsp가 나오지 않고 Whitelabel Error Page 에러가 발생한다. jsp를 사용하려면 war로 묶도록 하자. (참고사이트 : https://regyu.tistory.com/3 )



 

2. 메이븐(Maven) 빌드 설정

이클립스(STS) 에서 스프링부트(Spring Boot) 프로젝트를 연다.

좌측트리의 프로젝트 폴더 위에서 마우스 우클릭 – [Run As] – [Maven build] 항목을 클릭하면 메이븐 빌드 설정할 수 있는 Run Configurations 윈도우가 뜬다.

한 번 빌드 설정을 세팅하고 나면 [Maven build] 항목을 클릭 시 곧바로 메이븐 빌드가 실행된다.

이후에 빌드 설정을 바꾸려면 맨아래 [Run Configurations…] 항목을 클릭하자.


3. 메이븐 빌드 설정 : Main 탭

Run Configurations 윈도우가 떴으면, 좌측 트리에서 메이븐 빌드(Maven Build) 항목을 선택한다.

Main 탭은 Goals 값을 “package” 로 바꿔준다.

Profiles 는 기존값으로 pom.xml 이 들어가 있는데 값을 지우자. 값을 지우지 않으면 빌드할 때 에러가 발생할 수 있다.



4. 메이븐 빌드 설정 : JRE 탭

JRE 탭에서는 JRE 가 아닌 JDK 를 지정하도록 한다.

그냥 JRE 로 진행하면 아래 에러가 발생할 수 있다.

[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?


 


5. 메이븐 빌드 설정 : Common 탭
Common 탭에서는 Encoding 값을 UTF-8 로 맞춰준다.


 

6. 메이븐 빌드 수행 

이후 창 하단의 Run 버튼을 누르면 jar 또는 war 파일이 특정 위치에 생성된다.

jar 또는 war 파일이 생성되는 위치는 이클립스(STS) 콘솔 로그에 출력된다.

7. 윈도우에서 기동하기

로컬환경(윈도우 OS)에서 기동 테스트해본다.

cmd 를 열고 java -jar [파일명].war 또는 java -jar [파일명].jar 명령어를 사용하면 된다.

  

 

8. 리눅스에서 기동하기

윈도우에서와 마찬가지로 [java -jar 파일명] 명령어를 사용하면 기동된다.

이후 Ctrl + C를 누르거나 터미널이 끊기면 WAS가 내려가므로, nohup 명령어로 기동하는 것을 권장한다.

nohup 은 프로그램을 백그라운드에서 실행하는 명령어다.

nohup java -jar [파일명].war 2>&1 &

또는

nohup java -jar [파일명].jar 2>&1 &

참고사이트 : https://www.leafcats.com/178