[SpringBoot] 인텔리제이 서버에 jar 파일을 직접 배포하기

반응형

테스트를 위해 간단한 서버를 만들고 애플리케이션을 배포하려면 다음 두 가지 파일로 배포가 가능합니다. 

  • jar
  • war

Jar 파일의 경우 내장된 톰캣을 함께 배포하는 방법으로 서버에서 실행만 시키면 동작합니다. War 파일의 경우 이미 Was 환경이 존재해 내장된 톰캣을 제외하고 배포할 때 사용됩니다.

 

 우선 인텔리제이로 프로젝트를 열고 control 키를 두 번 연속 눌러줍니다. Run Anything 검색 창에서 gradle bootjar를 선택해줍니다. 만약 다시 생성하려면 gradle clean 명령이후에 다시 gradle bootjar 명령을 실행합니다.

run anything


 

8:01:07 PM: 실행 중 'bootJar'...

> Task :compileKotlin UP-TO-DATE
> Task :compileJava NO-SOURCE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :jar UP-TO-DATE
> Task :inspectClassesForKotlinIC UP-TO-DATE
> Task :resolveMainClassName
> Task :bootJar

BUILD SUCCESSFUL in 866ms
6 actionable tasks: 2 executed, 4 up-to-date
8:01:08 PM: 실행이 완료되었습니다 'bootJar'.

 

위와 같은 코드가 나왔다면 정상적으로 Jar 파일을 만들었다고 생각하시면 됩니다.

인텔리제이 build 성공


 

 

 

 java 명령어에 -jar 옵션으로 어플리케이션 실행합니다. 새로 터미널을 열어서 curl로 API를 호출해 보면 정상동작 하는 것을 알 수 있습니다.

curl 명령 실행


 

 

 

 

 다음으로 서비스를 위해 백그라운드로 실행하려면 nohup 명령어를 추가합니다. & 를 추가하는 명령은 백그라운드로 동작하며 jar에 대한 로그는 nohup.out 파일에 쓰입니다.

 

 

 

 같은 포트를 사용하면 앱을 실행할 수가 없기 때문에 java 프로세스가 있는지 확인합니다.

 

 

 

 만약 있다면 kill 명령어로 해당 프로세스를 제거합니다.

 

Java -jar


 

반응형

댓글

Designed by JB FACTORY