예지의 개발 로그포스 (Yeji's Log Force)

CLI에서 SpringBoot Building war실행 본문

카테고리 없음

CLI에서 SpringBoot Building war실행

Yeji Heo 2024. 3. 27. 16:17

 

이클립스에서 SpringBoot를 실행시켜보면

콘솔에서 다음과 같은 정보를 확인할 수 있다.

 

SpringBoot에서 구동하는 WAS는 Building war에 들어있다.

(war는 동적 웹을 압축한 것이니 webapp등을 포함한 프로젝트트 자체가 압축된 것.

SpringBoot는 여기에 Tomcat도 embed해준 것이므로 같이 압축되어있다.)

 

실제로 확인해보니 아래와 같이 tomcat이 들어있었다.

 

나는 ROOT로 이름을 수정해뒀다

 

 

현업에서는 CLI를 많이 쓴다고하니, CLI로 WAS를 구동시켜보았다

 

SpringBoot의 Building war로 WAS를 구동한다고 했으므로,

해당 위치에 war가 있는지 먼저 확인한다.

 

C:\workSpringBoot\workspace\00HelloBoot\target 로 이동하고 (00HellowBoot는 프로젝트명)

dir을 입력해서 폴더 내부를 보면 Building war가 들어있을 것이다. 

(나는 이름을 ROOT로 바꿔서 ROOT.war가 보인다. 이게 원래00HelloBoot-0.0.1-SNAPSHOT.war 다.)

java 압축파일을 실행하는 명령어인 -jar를 통해 war를 실행하였다.

당연하게도, 이클립스 콘솔에서 봤던 모습과 같은 실행콘솔을 확인할 수 있다.

 

이제 이 WAS의 Port로 접근해보자.

아래 페이지는 index.html이다. localhost:8000으로 잘 접속이 된 것을 확인할 수 있다.

 

 

+ 나는 이 Tomcat WAS의 Port를 임의로 8000으로 바꿔뒀었다.

SpringBoot를 쓰지 않던 때 따로 설치한 Tomcat과의 충돌을 막기 위해서)


 

한편, SpringBoot쓰기 전 미리 설치했던 Tomcat WAS에서 SpringBoot의 webapp을 실행시키고 싶다면?

(Port번호 8080)

 

기존에 Tomcat을 Start시키고 접속하면 아래와 같은 화면을 보곤 했다. (localhost:8080접속)

이 페이지는 사실 ROOT라는 폴더의 index.jsp다.

 

+ Web.xml을 보면 서버 구동시 맨 처음 시작하는 페이지는 index.jsp이므로 여기로 바로 이동한다.

 

 

즉, 이 WAS는 실행시 ROOT의 index.jsp를 찾아 실행하므로,

기존 ROOT의 이름을 ROOT01등으로 바꿔놓고 

SpringBoot프로젝트의 webapp등이 들어있는 war의 이름을 ROOT로 바꿔서

톰캣홈의 webapps에 옮겨주면 ROOT라는 폴더로 압축해제가 될 것이다.

 

톰캣홈에서 서버를 start시키고 접속을 하면 ROOT의 index파일을 찾아 갈 것이다.

톰캣홈 톰캣서버 Start!

우리가 기존 ROOT(톰캣제공)를 ROOT01로 바꾸고, 

내가 실행하려는 파일이 들어있는 war를 ROOT로 설정했기 때문에, 그 안의 index가 나오게 될 것이다.

 

localhost:8080으로 접속하면, 

새로운 webapp의 파일이 잘 나오는 것을 확인할 수 있다.

Comments