[Maven ⑧] 라이브러리 설정하기
[Maven ⑧] 라이브러리 설정하기
뉴렉처 Maven 강의내용을 정리한 내용입니다.
라이브러리 설정하기
웹 어플리케이션을 만들기 위해서 JSP
, Servlet
라이브러리 등을 포함하 사용해야 한다. 라이브러리를 설정하는 방법을 살펴보자.
###
webapp
디렉토리 안에 JSP파일을 하나 추가해보자.
다음과 같은 에러가 뜨는 것을 볼 수 있다.
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
해당 라이브러리를 Build Path에서 찾을 수 없다. 즉, 라이브러리가 빠졌다는 의미이다.
라이브러리를 설정해보자.
라이브러리 설정
프로젝트 우클릭 > Build Path > configure build path
Libraries 탭에서 내가 사용하고 싶은 라이브러리를 추가할 수 있다.
-
JRE System Library
: 기본적인 자바 실행환경과 관련된 라이브러리 -
Maven Dependency
: 메이븐 저장소에 있는 라이브러리
Tomcat을 라이브러리로 사용하는 방법을 먼저 알아보자.
Add Library 클릭 > Server Runtime 선택 > Tomcat 선택
Tomcat은 라이브러리가 아니다. 하지만 Tomcat을 설치해 압축을 풀면 볼 수 있는 lib
를 살펴보면, 우리가 사용할 수 있는 여러가지 라이브러리 목록을 찾아볼 수 있다.
즉, Tomcat이 Servlet과 JSP를 품에 안고있는 형태라고 볼 수 있다.
이클립스 내에서 확인하면 다음과 같다.
하지만 !
이 방법으로 라이브러리를 사용할 경우 문제가 있다.
라이브러리를 참조한 경로가 작업하는 컴퓨터마다 다르기 때문에, 내가 작업하는 컴퓨터를 옮길 때마다 Build Path를 다시 해줘야 하는 번거로움이 생기는 것이다.
또 다른 방법은 모든 라이브러리를 직접 가지고 다니면서 프로젝트마다 설정하는 것이다. 이 또한 좋은 방법은 아니다.
maven을 이용하면 이러한 문제를 간단히 해결할 수 있다.
이번에는 pom.xml을 이용한 라이브러리 설정방법을 살펴보자.
pom파일 안에 <dependencies>
태그가 있다.
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
해당 태그 안에는 내가 사용하는 부품들 즉, 라이브러리를 나열할 수 있는데, 여기에 입력하는 것만으로 maven이 알아서 라이브러리를 다운로드해준다.
이게 어떻게 가능한 일일까?
Maven 저장소와 Local 저장소
Maven이 운영하는 central 저장소에는 수많은 아키텍트들이 들어있다.
내가 사용하는 프로젝트의 pom.xml에 필요한 라이브러리를 나열하게 되면, maven이 알아서 central 저장소에 있는 파일을 나의 local 저장소에 다운로드해주는 것이다.
이런 과정을 거치면 내가 필요한 라이브러리들이 나의 local 저장소인 ${user.home}/.m2/repository
에 저장되고, 이 local 저장소를 공유하는 나의 다른 프로젝트들도 자신의 pom.xml에 매번 라이브러리를 설정할 필요 없이, 로컬 저장소에 저장된 모든 라이브러리를 사용할 수 있게 되는 것이다.
그럼 사용할 수 있는 라이브러리들은 어떤 게 있을까?
라이브러리 찾아보기
jsp 라이브러리를 설치해보자.
-
mvnreposotory.com
에 접속하여tomcat jsp
를 검색한다.
Tomcat JSP라고 검색하는 이유
JSP로 검색하게 되면, 검색되는 여러개의 JSP버전 중 내가 사용하는 Tomcat 버전에 맞는 버전의 JSP를 다운받아야 한다.
예를 들어 Tomcat 9.0 버전은 JSP 2.3 버전을 사용한다.
이러한 번거로움을 없애기 위해서 JSP Tomcat을 검색하게 되면, tomcat 버전 별로 사용할 수 있는 JSP 라이브러리 파일을 다운로드 할 수 있다.
직접 jar
파일을 다운로드하여 사용할 수 있지만, maven을 사용하기 때문에 이래 Builder의 dependency내용을 복사해서 pom.xml에 붙여넣는 것으로 라이브러리 설정을 완료할 수 있다.
pom.xml에 붙여넣기하고 저장하면
로컬 저장소에 다운로드된 것을 확인할 수 있다
이클립스에서도 동일한 라이브러리 목록을 확인할 수 있다.
tomcat-el-api
와 tomcat-servlet-api
는 설정안했는데?
JSP를 다운로드받을 때, 해당 라이브러리에 종속되어 있는 라이브러리를 자동으로 다운로드해준다.
그럼 el을 사용해서 라이브러리가 제대로 받아졌는지를 테스트해보자.
index.JSP
‘
실행화면
댓글남기기