[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