NHN Basecamp가 끝나고 부서 배치를 받았다. 부서 배치를 받고 가장 처음 받은 과제는 스프링 프로젝트를 로컬 환경에서 실행시키는 것이었다. SpringBoot만 실컷 쓰다가 갑자기 Spring이 나와서 어리둥절 했다. 삽질을 좀 했기에 안 까먹으려고 정리해둔다.
참고로 -
Community Edition에서 더이상 진행이 안돼서 Ultimate Edition으로 진행했으며, brew로 tomcat을 설치했으나 폴더 구조 등의 문제가 발생해서 공식 홈페이지에서 zip 파일로 다운로드함
1.
account-api
프로젝트를 불러오고 JDK 버전 설정 (1.8로 안 바꾸면 bind 어쩌고 오류남)
2.
target
폴더나 그 안에 generated-sources
파일이 없다? 그러면 프로젝트 루트 폴더에서 마우스 오른쪽 - Maven
- Reload Project
& Generate Sources and Update Folders
해주기
3.
해주면 이렇게 생김
4.
이제 오른쪽에서 war:war 가능
5.
Command
+ ;
누르고Modules
에서 Web 있는지 확인. 없으면 만들어도 된다. 이거 때문에 Ultimate 필요했음. Artifact 없다고 뜨는데 Create Arifact
클릭
6.
Put into /WEB-INF/lib 해서 싹 다 넣어준다.
7.
환경에 따른 프로필은 여기서 바꿔줄 수 있는 듯 하다. (어떻게 하는거지? 신입교육할 때는 각 환경마다 다르게 세팅하긴 했는데 이렇게 안 생겼던 것 같은데.. 나중에 알아볼 것.)
8.
이제 톰캣으로 Build를 하도록 설정해보자. 위에 요거 클릭
9.
Template
- Tomcat Server
- Local
선택. 이거 때문에도 Ultimate가 필요했음.
10.
Application Server
옆에 Configure
누르고 톰캣 경로 찾아주기
11.
오른쪽 위쪽에 Create configuration
클릭하면 오른쪽 아래에 Artifacts가 없다고 Fix
가 뜨는데
12.
클릭해서 account-api:war
로 바꿔주고 접근하게 편하게 Application context는 /
로~
13.
방금 만든 tomcat으로 설정하고 run
하면
성공! 👏
시행착오
-
http-8080 핸들러 어쩌고 오류나면 이미 8080 포트가 쓰이는 중인 것.
=> 8080 찾아서 꺼주면 해결됨 -
catalina.sh
권한이 없다고 뜨면?$ chmod +x ${TOMCAT_HOME}/bin/catalina.sh
해서 실행 권한을 추가해준다.
References
- https://freehoon.tistory.com/147