본문 바로가기
IT개발

[vscode] Maven 프로젝트 jar 배포하기(SpringBoot) 및 리엑트 프록시 설정

by 팀모 2023. 11. 17.

안녕하세요?
이번 포스팅에서는 springBoot로 된 Maven 프로젝트를 jar파일을 생성해서
서버에 배포해보는 작업을 진행해보도록 하겠습니다.
우선 저희 환경은 vscode에서 진행됩니다.
 

1. vscode에서 jar파일 생성

vscode의 왼쪽 explorer에 보시면 하단에 Maven이라는 메뉴가 활성화되어있습니다.
vscode에서 jar파일을 생성해보도록 해보겠습니다.
메뉴를 펼쳐보면 Maven project목록이 나옵니다. 
프로젝트를 우클릭- Run Maven Commands - package 를 실행합니다.

그러면 Maven 프로젝트가 실행됩니다.
완료가 된다면 터미널에서 .jar파일이 생성된 경로를 보여줍니다.

 
실제로 터미널에 적힌 경로를 들어가보면 moca3-1.jar파일이 생성 되어있는걸 확인할 수 있습니다.

 

2. jar파일구조

jar파일의 구조를 한 번 보도록 하겠습니다.
BOOT-INF/lib 폴더속에는 우리환경에 필요한 모든 jar파일들이 담겨져 있는 상태이며,

 

SpringBoot 기본환경

파일명 역할
Moca3Application.class 서비스호출하는 controller 및 springboot 실행
mapper.xml sql쿼리 xml
Config.java Config파일
Moca3Mapper.java sql (mapper.xml) 과 controller연결해주는 인터페이스

Moca3Application
mapper.xml
Config.java , Moca3Mapper.java

 

3. jar파일 배포(  java -jar [  jar파일명  ]  )

jar파일이 생성되었다면 배포할 서버에 jar파일을 올려줍니다.
저희는 winSCP프로그램을 이용하여 옮겨보았습니다.

 
ubuntu shell에 접속해서 옮긴 jar파일이 들어있는 디렉토리까지 진입합니다.
저희는 Putty를 이용해 진행해보았습니다.
moca3-1.jar파일이 잘 들어있는걸 확인했다면 명령어를 입력해 jar파일을 실행해보도록 하겠습니다.

 java -jar [  jar파일명  ] 

java -jar moca3-1.jar

jar파일이 실행된 모습

 
실행이 완료되었다면 브라우저에서 서버url뒤에 서비스호출경로를 입력해서 정상적으로 실행되는지 확인합니다.

정상적으로 실행된 모습.

 이렇게해서 vscode에서 jar파일을 말아서 서버에  jar파일을 실행해보았습니다.

 

4. (별도) react package.json에 프록시설정

+다만 저희 개발환경은 프론트엔드 - React + 백엔드 - SpringBoot  로 합쳐져있기 때문에 

react프로젝트내부에 있는 package.json파일에 프록시설정을 해주어야 합니다.

프록시 설정이유는 spring boot port를 8080으로 설정하였고 react는 기본적으로 3000의 포트로 설정됩니다.
기본적으로 포트가 다를경우 통신이 불가한데,

이때 react package.json파일에 프록시 설정을 해준다면 react가 다른서버와 통신이 가능합니다.

 

react프로젝트의 package.json파일에 proxy설정 추가

 "proxy": "http://[ip주소]:8080",