[Eclipse] 프로젝트 내•외부에 jar 추가
▤ 목차
1. 프로젝트 외부에 jar 추가
1. Build Path -> Configure Build Path -> Libaries -> Add External JARS...
외부에서 가져온 jar파일 등록을 성공하면 아래처럼 Referenced Libraries에 추가한 jar 파일이 나타나게 된다.
다만 경로를 보면 로컬경로(절대경로)라는 걸 알 수 있다. (즉 내 컴퓨터 저장경로)
만약 이 프로젝트를 다른 환경에서 사용해야 한다면 프로젝트에 jar파일이 포함되지않아 사용에 어려움이 있을 수 있다.
이를 해결하기 위해서는 프로젝트 내부에 jar 파일을 추가할 필요가 있다.
2. 프로젝트 내부에 jar 추가
1. 프로젝트 내부의 WEB-INF 하위 경로에 lib 폴더를 만들어 사용한다.
2. lib 폴더에 등록을 원하는 jar 파일을 추가한다.
드래그나 workspace에 직접 넣어줘도 된다.
3. Build Path -> Configure Build Path -> Libaries -> Add JARS...
등록했던 jar를 선택 후 확인한다.
추가적으로 이클립스로 lib 디렉터리에 JAR 파일을 추가하면 굳이 Add JARS...를 일일이 할 필요는 없긴 하다.
이클립스가 자동으로 빌드 경로에 포함시켜 주기 때문에 그냥 lib에 추가만 해주면 되지만 그 방법이 안될 때는 위에처럼 직접 등록해 주는 것이 좋다.
3. Web App Library와 lib 디렉터리 차이점
jar들을 저장하고 관리하는 Web App Library와 lib의 차이점을 찾아봤다.
1. Web App Library
- 자동 관리: 이클립스에서 Java EE(또는 Dynamic Web Project)를 생성할 때, 필요한 웹 관련 라이브러리들을 자동으로 포함하고 관리하는 가상의 라이브러리 집합이다.
- 서블릿 및 JSP API 포함: 서블릿 API, JSP API, JSTL 등 웹 애플리케이션을 개발하는 데 필요한 표준 Java EE 라이브러리들이 포함된다.
- 빌드 경로에 포함: Eclipse에서 이 라이브러리를 추가하면, 프로젝트의 빌드 경로에 포함되어 개발 중에 바로 사용할 수 있다.
- 웹 서버와의 연동: 이 라이브러리들은 주로 특정 웹 서버(Tomcat 등)와 연동되어 해당 서버에서 제공하는 API를 프로젝트에서 사용할 수 있도록 한다.
2. lib 디렉터리 (WEB-INF/lib)
- 수동 관리: WEB-INF/lib 디렉터리는 웹 애플리케이션의 WAR(Web Application Archive) 파일 구조에서 볼 수 있는 실제 디렉터리로 이곳에 배치된 JAR 파일들은 해당 웹 애플리케이션이 실행될 때 함께 로드된다.
- 애플리케이션 전용 라이브러리: 프로젝트에서 특정한 기능을 위해 사용하는 서드파티 라이브러리(예: Hibernate, Spring Framework)나 직접 만든 유틸리티 라이브러리들을 여기에 추가한다.
- 배포 시 포함: 이 디렉터리에 있는 JAR 파일들은 WAR 파일에 포함되어 서버로 배포된다. 이 파일들은 오직 해당 웹 애플리케이션에서만 사용된다.
- 프로젝트 별도 설정 필요 없음: Eclipse에서는 lib 디렉터리에 JAR 파일을 추가하면, 자동으로 빌드 경로에 포함된다.
3. 요약
Web App Library: Eclipse에서 Java EE 개발을 위해 자동으로 관리해 주는 가상의 라이브러리 집합. 웹 애플리케이션 개발에 필요한 기본 API를 포함.
lib 디렉터리: 웹 애플리케이션이 실행될 때 필요한 특정 라이브러리를 수동으로 추가하는 실제 디렉터리. WAR 파일의 일부로 배포됨.
[Eclipse]java프로젝트에 jar파일 추가하기, jar파일 상대경로로 넣기
eclipse에서 외부 jar파일을 프로젝트에 추가 시켜야하는 일은 종종 있는 일이다.그걸 처음할때 조금 어려워하는 사람들이 있다.그리고 jar파일을 추가할 때 잘못 추가하는 사람들도 흔하게 보았다
kamang-it.tistory.com
잘못된 내용이 있다면 지적부탁드립니다. 방문해주셔서 감사합니다. |
