이번 포스팅은 PowerShell에서 springboot 앱 실행 방법을 작성한다.
앱 실행 방법은 결론적으로 mvn spring-boot:run 명령어를 입력하면 실행되지만 나의 경우는 조금 다르기도 하고 시행착오가 있었기 때문에 주의사항을 추가로 작성한다.
1. intellij shell 설정
나는 intellij IDE에서 1개의 앱을 port 설정만 다르게 하여 여러 개 띄우던 중 한 번은 윈도우 터미널에서 띄우려고 했다.
참고로 윈도우 OS에서 intellij를 사용하는 경우 아래 이미지와 같이 default 쉘이 powerShell로 설정되어 있다.
(cmd보다 powerShell이 더 강력한 명령줄 인터페이스)
2. vm option 추가
아래 이미지에서 실행되고 있는 userService 앱 중 1개는 intellij에서 실행 버튼을 클릭하여 실행하였고
다른 1개는 Edit Configurations 메뉴에 들어가서 아래 VM 옵션을 추가하여 기동하였다.
/*
D 접두사는 Define의 약자로 JVM 표준 옵션과 다른 시스템 속성을 구별하기 위해 사용하는 접두사이다.
C/C++ 컴파일러에서 동일하게 옵션 설정을 할 때 구분을 위해 접두사를 붙이는 것에서 유래되었다고 한다.
*/
-Dserver.port=9002
3. maven 설치
필자의 경우 다른 1개의 userService 앱을 터미널에서 실행하기 위해 mvn -verison 명령어를 입력했지만 mvn 명령어를 찾지 못해 아래 경로에 접속하여 maven을 다운로드 받았다.
https://maven.apache.org/download.cgi
3-1. maven 환경변수 설정
maven을 다운로드 받은 후 시스템 환경변수 PATH에 maven bin 경로를 추가해 주었다.
그리고 intellij를 껐다 킨 후 터미널에서 mvn -version 명령어를 입력하니 정상적으로 동작하였다.
이후 userService 앱 경로에 접속해서 앱 실행 명령어를 아래와 같이 입력하였다.
mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=9003'
그러나 오류가 발생하였고 로그 중 ".run.jvmArguments=-Dserver.port=9003"을 보니 -Dspring-boot가 삭제된 것을 확인할 수 있었다.
4. PowerShell escape 처리
PowerShell에서는 하이픈(-)을 사용할 때는 백틱(`) 또는 작은 따옴표('')를 사용하여 escape 처리를 해주어야 했다.
그래서 아래 명령어를 사용하여 앱을 실행하였다.
mvn spring-boot:run `-Dspring-boot.run.jvmArguments='-Dserver.port=9003'
위 명령어는 현재 경로에 있는 앱을 9003 포트로 실행하겠다는 명령어이다.
해당 앱의 yml 파일에는 포트 정보가 9001로 설정되어 있어 포트를 변경하여 실행하기 위해서는 vm options을 추가해주어야 했기 떄문에 jvmArguments를 추가했다.
이렇게 springboot userService 앱 9003 port로 실행 완료~
'Spring Boot' 카테고리의 다른 글
[IntelliJ] Gradle 빌드 오류: metadata.bin 파일을 찾을 수 없습니다 - 문제 해결 (4) | 2024.10.20 |
---|