자바 intellij community edition 톰캣과 연동하기

박재한·2022년 7월 22일
2

자바 웹 서버 개발의 공부를 위하여, jsp 서적을 한 개 찾게 되었는데 톰캣을 이클립스에 연동하여 사용하는 것으로 첫 단원이 시작된다.

본인은 이클립스 대신에 인텔리제이 커뮤니티 에디션을 사용중이기 때문에 톰캣 개발 환경(인텔리제이-톰캣 연동)을 꾸려보았다.
인터넷 검색을 하며 알아보았고, 그 과정을 따라 가 보았다.

tomcat 설치과정

일단 brew로 tomcat@9를 설치했다.

brew를 사용하여 설치하고 나면 설치 후의 주의 사항, 안내 사항 등이 나오는데,

대충 Path 등록하려면 이렇게 해라, 실행하려면 이렇게 해라 등이 나온다.

tomcat 실행은 /opt/homebrew/opt/tomcat@9/bin/catalina run
을 사용하거나 단지 실행만 하고 싶다면 brew services start tomcat@9을 사용해도 된다.

port 등의 설정이 필요할 때, /opt/homebrew/etc/tomcat@9/ 폴더 내에 있다. vim 등으로 수정하여 사용하면 된다.

intellij-ce 에서 톰캣 플러그인 설치하기

인텔리제이에서 ultimate 버전이 아닌 community 버전에서는 네이티브한 톰캣 연동 실행환경을 제공하지 않는다. 그래서 플러그인을 설치하여 이용하여야 한다.

검색좀 해보면 smart tomcat, tomcat runner 등 유명 플러그인이 있는데, smart tomcat로 설치 해 보았다.

intellij-idea - preferences - plugins 에 들어가면 다음과 같은 창이 나온다.

여기서 Marketplace탭에 tomcat 을 검색하면 smart tomcat가 나오는데, install 해 주면 된다.

톰캣 플러그인 설정하기

이후에 run - edit configurations에서

새로운 run 환경을 만들어주고, run환경에 카테고리에서 smart tomcat을 선택 해 준다.

좌측 상단에서 run환경을 추가 해 주고, 우측 상단에서 플러그인을 위한 Apache 서버의 경로를 잡아주기 위해 Config를 눌러 준다.

그럼 다음과 같은 창이 나오는데,

'+' 버튼을 눌러 Apache의 경로를 지정 해 준다.

여기서 살짝 걸렸는데, brew를 통해 설치한 기본 경로는 /opt/homebrew/opt/tomcat@9으로 알려줘서 그 경로인걸로 사용자들이 인지하는데, 실제 경로는 /opt/homebrew/Cellar/tomcat@9이다.
ln으로 링크되어 있음에도 /opt/homebrew/opt/tomcat@9/libexec 의 경로로 입력 시 Tomcat Server로 플러그인이 인식하는 것?이 안 되었다.
사용자 문제일수도 있지만, 나는 /opt/homebrew/Cellar/tomcat@9/9.0.65/libexec 라는 경로로 설정하니 인식이 되었다.

apply, ok를 누르고 나서 아까 그 화면에서

방금 새로 추가한 Tomcat Server로 설정 해 준 뒤, run name, Deployment Directory, Before Launch를 설정 해 준다.

Deployment Directory는 tomcat이 추종하는 웹 페이지 파일이 담긴 경로인 듯 하고,
Before Launch는 실행 전 어떤 다른 명령(빌드 등)을 실행하기 위한 절차를 나열한다.

Deployment Directory를 설정하기 위해 프로젝트 설정에서
=

main폴더 - webapp 폴더를 생성 후
절대 경로로 Deployment Directory를 설정하였다.

연동 테스트하기

테스트를 위하여 html파일을 생성 후 아무거나 작성 하였다.

새로 작성한 run 환경을 선택 후 실행 버튼을 눌렀을 때 아무 이상이 없으면

서버가 [238] 밀리초 내에 시작되었습니다.
가 마지막에 나오고 나서 웹 서버의 위치를 띄워준다.

어떤 이상이나 오류가 없으면 웹 서버가 뜨게 된다.

이제 jsp나 데이터베이스 연동 등 원하는 공부를 시작하면 된다.

1개의 댓글

comment-user-thumbnail
2024년 2월 6일

큰 도움이 됐어요 감사합니다!!

답글 달기