스프링부트 1개의 서버를 로컬에서 여러개 띄워야하는 경우에는 여러 방법을 통해 실행할 수 있다.
🚀 IDE(통합개발환경) 사용하기
IntelliJ(인텔리제이)에서는 서버 옵션을 편하게 설정할 수 있다.
나는 인텔리제이 2022.2.3(Ultimate edition) 버전을 사용하고 있음.
1. 수동으로 포트번호 설정하기
인텔리제이 버전마다 다르지만 내가 사용하는 버전에서는 [옵션 수정] 버튼을 눌려서 VM 옵션을 추가해야 보인다.
-Dserver.port=포트번호
VM 옵션에서 [포트번호적기]에 원하는 포트번호를 적으면 해당 포트번호로 서버가 실행되게 된다.
만약 "-Dserver.port=1234" 를 적었으면 1234 포트번호로 서버를 실행시킨다는 의미이다.
참고로 복제한 것에 이름은 바꿔주고 [적용] - [확인] 을 눌려준다.
서버 실행은 평소와 똑같이하고 중지시키는 것도 똑같은 위치로 들어가서 중단시키면 된다.
2. 자동으로 포트번호 설정하기
https://ssdragon.tistory.com/150
위 내용에서 나온 것처럼 스프링부트 서버를 랜덤포트로 설정한다.
수동으로 설정했던 VM 옵션부분을 삭제한 후 동일하게 실행시키면 개발자는 편하게 실행시킬 수 있다.
🚀 Gradle 사용하기
스프링부트 프로젝트 폴더에 있는 gradlew 를 사용한다.
인텔리제이는 터미널을 바로 사용할 수 있으므로 해당 IDE에서 gradlew를 통해 실행시켜본다.
만약 없다면 컴퓨터에서 따로 터미널을 실행시켜 해당 위치로 들어가서 진행하면 된다.
1. 수동으로 포트번호 설정하기
./gradlew bootRun --args='--serverport=포트번호'
사진이 작아서 안보이겠지만 위 명령어를 터미널에서 사용하여 서버를 실행시켰다.
2. 자동으로 포트번호 설정하기
포트번호를 랜덤포트로 설정했다면 아래 명령어만 입력하여 실행시키면 된다.
./gradlew bootRun
🚀 maven 사용하기
gradle이 아니라 maven 프로젝트라면 아래 명령어를 터미널에서 사용하면 된다.
mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver-port=포트번호'
만약 실패한다면 jar 파일이 없거나 설정 문제이므로 아래 명령어로 다시 패키징하여 실행해보자.
mvn clean compile package
이것 또한 랜덤포트로 설정해놨다면 아래 명령어로 서버를 실행하면 된다.
mvn spring-boot:run
🚀 java 사용하기
스프링부트 프로젝트를 jar로 패키징하고, jar을 java로 실행시킨다.
정확히는 JRE가 있어야하는데 개발자의 경우 JDK로 보통 설치해놨으므로 바로 실행하면 된다.
(JDK에 JRE 포함)
Gradle 프로젝트라면 위 사진 경로에 jar 파일이 있다.
없다면 아래 명령어를 실행하여 jar 파일 만든다.
./gradlew bootJar
Maven 프로젝트라면 위 사진 경로에 jar 파일이 있다.
없다면 아래 명령어를 실행하여 jar 파일 만든다.
mvn package
이후 아래 명령어를 통해 서버를 실행한다.
java -jar "-Dserver.port=포트번호" ./build/libs/파일.jar
보면 알 수 있듯이 공백을 기준으로 맨 마지막에는 jar파일 경로를 적어주면 된다.
랜덤포트라서 VM 옵션을 추가하지 않아도 되면 아래 명령어처럼 입력하면 된다.
java -jar ./build/libs/파일.jar
'Spring > Spring' 카테고리의 다른 글
스프링부트 공유라이브러리 만들고 jitpack으로 배포하기 - 1편 (1) | 2023.12.18 |
---|---|
Spring Cloud Config Client에서 actuator refresh 장애 (0) | 2023.07.01 |
SpringBoot 랜덤포트로 실행하기 (3) | 2023.05.15 |
선착순 쿠폰 발급을 위한 redis 분산락 (0) | 2023.05.11 |
트랜잭션을 사용할 때 각 DB들의 기본 격리 수준은 무엇일까? (0) | 2023.02.20 |