안녕하세요?
이번 포스팅에서는 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연결해주는 인터페이스 |



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

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

'IT개발' 카테고리의 다른 글
[Ubuntu] mariaDB설치 및 외부접속하기 (Ubuntu 22.04) (0) | 2023.11.20 |
---|---|
[React] 서버에 수정된 파일 배포할 경우 주의사항 (1) | 2023.11.17 |
[React] AWS EC2 Ubuntu서버에 리액트 프로젝트 설치하기 (0) | 2023.11.15 |
[React] React라우팅 Link, Routes를 이용하여 화면메뉴 동적으로 세팅하기 (0) | 2023.11.14 |
[React] React에서 모든화면에서 공통함수 또는 제이쿼리 접근하기 (0) | 2023.11.14 |