톰캣을 통해 자바 웹을 구동할 때에
프로젝트에 포함된 라이브러리는
톰캣의 lib 폴더에 있거나, 프로젝트의 라이브러리 폴더에 있거나 두 가지 경우가 있을 수 있다.
내가 공부하고 있는 책을 보니까
라이브러리 파일(.jar)을 프로젝트 루트/WEB-INF/lib 폴더 안에 위치하라고 하는데
IntellJ는 기본적으로 프로젝트 루트/lib에 위치시킨다.
그래서 그런지 그냥 maven을 통해서 라이브러리를 프로젝트에 import하면 톰캣을 통해 구동시 해당 라이브러리(클래스)를 찾을 수 없다고 log에 뜬다.
그래서 프로젝트 루트/web/WEB-INF/lib에 jar파일들을 넣으니 잘 해결된다.
하지만 프로젝트 라이브러리를 두고 여기에 복사하는 건 그리 좋은 방법은 아닌듯.
두 가지 해결 방법이 더 있다.
첫째, 만약 해당 라이브러리가 범용 라이브러리, 즉 여러 프로젝트에서 사용하는 라이브러리라면 톰캣 프로그램 자체의 라이브러리에다가 해당 jar파일들을 넣어주면 된다.
두번째, IntelliJ를 이용해서 프로젝트 설정을 이용해서 해당 프로젝트의 Artifacts에 포함시키는 방법이다.
맥 기준으로 cmd + ; 를 눌러서 프로젝트 설정(Project Structure)를 연다.
왼쪽 탭에서 Project Settings 하위에 있는 Artifacts를 클릭한다.
중앙 탭에서 Output Layout을 클릭한다.
그러면 오른쪽에 Available Elements에 포함시킬 수 있는 라이브러리 파일들이 뜬다.
이것들을 하나하나 더블 클릭해주면 알아서 왼쪽의 WEB-INF/lib 안으로 들어간다.
위에 있는 + 버튼을 눌러서도 추가할 수 있는 방법이 있는 것 같은데 해보지 않았다...
그리고 OK를 누르고 저장해주면 끝.