▸JSP & Servlet/개발 TIP

자바 외부 라이브러리 사용 방법 (JDBC 설정 방법 포함)

코데방 2020. 2. 19.
728x90

[ JDBC ]

  • Java DataBase Connecivity
  • 자바 프로그램 안에서 SQL을 실행하기 위해 데이터베이스를 연결해주는 기능
  • 오라클 뿐만 아니라 대부분의 DB에서 JDBC 기능(드라이버)을 제공해줌

간단히 DB를 만든 업체에서 해당 DB를 Java에서 연결해서 사용할 수 있도록 짜둔 라이브러리라고 생각하면 됩니다. JDBC 라이브러리 안에 포함되어 있는 파일을 보면 모두 ".class" 파일로, 컴파일 되어 JVM에서 해석되고 실행될 수 있는 파일들의 모음집입니다.

 

우리가 특정 기능을 수행할 수 있는 클래스들을 짜서 하나의 모듈로 묶어두면 그게 라이브러리가 되고, 다른 사람들이 가져다가 사용할 수 있습니다. JDBC도 비슷한 개념이라고 생각하시면 됩니다. 자바에서 DB를 다루는 클래스들은 내부 로직에서 JDBC 라이브러리에 있는 기능들을 가져다 사용합니다.

 

 


 

 

굳이 JDBC 뿐만 아니라 자바에서 외부 라이브러리를 가져다 사용할 수 있는 방법으로 정리하겠습니다. 

 

 

[ 절대 경로로 등록하기 ]

 

절대 경로는 현재 프로젝트가 진행중인 PC(서버)에서 외부 라이브러리 파일 경로를 고정된 위치에 넣어준다는 의미입니다. 그래서 프로젝트 파일을 다른 서버나 PC로 옮겨 작업할 때는 외부 라이브러리 파일의 위치를 동일하게 해줘야 합니다. 프로젝트 안에 파일이 들어있는게 아니라 외부 어딘가에 파일이 있고, 클래스 로더가 클래스를 찾아서 로드시켜줄 때 해당 위치를 참조하게 되는 방식이기 때문입니다.

 

공부할 때는 프로젝트도 자주 생성했다 지우고 하기 때문에 절대 경로를 지정해서 쓰면 편하지만 실제 프로젝트를 진행할 때는 상대경로로 지정해주는 것이 좋습니다. 상대경로란 프로젝트 폴더 하위에 별도 폴더를 생성 라이브러리 파일을 저장하고 그 위치를 참조합니다. 프로젝트의 폴더 구조는 정해져있고 통째로 옮겨지므로 어느 곳에 가서 다시 작업하던 프로젝트를 기준으로 한 라이브러리 폴더의 경로는 동일해집니다.

 

절대 경로 설정과 상대경로 설정을 모두 보시면 외부 라이브러리를 사용하는 구조에 대해 어느정도 감이 올 것 같습니다. 버전에 따라 아래 내용과 약간씩 차이가 날 수 있지만 다들 비슷하게 생겼을 테니 원리만 알면 찾아서 설정하는 것은 어렵지 않을 것 같습니다.

 

 

1. 이클립스에 즐겨찾기로 라이브러리 파일 위치 등록해두기

 

이 과정은 필수 과정은 아닙니다. 다만 여러 프로젝트를 다룰 때 조금 더 편리하게 라이브러리를 가져다 사용할 수 있도록 해줍니다. 이클립스 자체에 라이브러리 파일(.jar)의 경로를 미리 등록해두고, 실제 프로젝트 때 설정해둔 경로를 참조하도록 할 수 있습니다. 프로젝트마다 일일이 파일 위치를 찾아 등록해주지 않아도 돼서 번거로움을 피할 수 있습니다. 일종의 파일위치 즐겨찾기 같은 기능입니다.

 

 

1-1. 라이브러리 파일(.jar)을 적절한 위치에 넣기

 

먼저 라이브러리 파일을 JDK의 lib 폴더에 넣어줍니다. 위치 자체는 상관없는데 웬만하면 JDK 폴더 안에 있는 lib 폴더에 따로 외부 라이브러리를 저장하는 폴더에 저장해주는 것이 나중에 찾기도 좋고 보기도 좋습니다.

 

JDK 버전에 따라 'lib\ext' 폴더가 있는 버전도 있고 없는 버전도 있습니다. 없는 경우에는 'ext'폴더를 만들 경우 톰캣 구동 등에서 오작동이 일어나니 다른 이름으로 폴더를 하나 만들어서 저장해줍니다. 있는 경우에는 'ext' 폴더 안에 넣어주면 됩니다.

 

예시) JDK 폴더 안의 lib 폴더 안에 'ext' 폴더 또는 임의로 생성한 폴더에 외부 라이브러리를 넣어준다.

 

 

* JDBC 라이브러리(ojdbc.jar) 파일 위치

   - Oracle이 설치된 경로에서 ojdbc.jar 파일 복사 (버전에 따라 이름이 다를 수 있음)

   - C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib (예시)

   - 찾기가 어렵다면 "ojdbc"로 탐색기에서 검색하면 나옴

 

 

 

1-2.  이클립스에서 라이브러리 등록 (라이브러리 파일의 위치를 즐겨찾기로 등록하는 것)

   - "Windows → Preferences → Java → Build Path → Classpath Variables"

   - NEW 버튼 클릭 후 Name(즐겨찾기의 이름)을 적고 위에서 복사해서 넣은 'ojdbc.jar' 파일 위치 지정

   - 'OK' 버튼 클릭 후 'Apply and Close' 버튼 눌러 저장하고 끄기

 

 

일종의 즐겨찾기로 이클립스에 위치가 등록되어 있는 라이브러리들

 

 

 


 

 

2. 프로젝트에 라이브러리 등록해주기

 

이 과정은 필수입니다. 프로젝트에서 어떠한 외부 라이브러리를 사용할지 알려줘야 합니다. 역시 절대경로로 등록하는 방법입니다. 상대경로 지정은 아래쪽에 추가 설명이 있습니다. 위에서 해둔 이클립스의 즐겨찾기 기능을 이용해보겠습니다. 

 

 

2-1. 프로젝트 우클릭 → BuildPath →  Configure Build Path 클릭

 

 

 

2-2. Add Variable → 등록해둔 라이브러리 선택 → OK 클릭 → Apply and Close

  • Add JARs : 프로젝트 폴더 내에 있는 라이브러리 파일 등록 (상대 경로 지정)
  • Add External JARs : 위부 폴더에 있는 라이브러리 파일 직접 등록 (절대 경로 지정)
  • Add Variable : 즐겨찾기 해둔 라이브러리 경로 사용

즐겨찾기 해둔 경로를 등록해줍니다. 즐겨찾기 하기 싫으면 'Add External JARs'로 직접 지정해주면 됩니다. JDK 버전이 높아서 Modulepath와 Classpath가 나눠져 있다면 Classpath에 추가해주면 됩니다.

 

 

 


 

 

[ 상대 경로로 프로젝트 자체에 외부 라이브러리 삽입하기 ]

 

위에서 설명한대로 외부 라이브러리 파일을 아예 프로젝트 그룹 안에 둠으로써 프로젝트를 추출해서 다른 곳으로 가져가 사용할 때도 신경쓰지 않도록 해주는 방법입니다. 이 방법은 즐겨찾기 방식으로는 안되고 직접 프로젝트에서 지정해줘야 합니다.

 

 

1. src 폴더안에 라이브러리(ojdbc.jar) 파일 넣기

 

우클릭해서 Show in → System Explorer 클릭하면 탐색기에서 폴더를 열 수 있다.

 

 

 

3. src 우클릭 → BuildPath →  Configure Build Path 클릭

 

 

 

4. Libraries → Add JARs 클릭 → 라이브러리 파일 선택 → OK → Apply and Close

 

폴더에 넣고 난 뒤에는 프로젝트 우클릭 후 'Refresh(F5)'를 한번 해줘야 파일이 보입니다.

 

 

 

5. 정상 등록되면 'Referenced Libraries' 안에 라이브러리 파일이 삽입됨 (안보이면 refresh 해보기)

 

 

 


 

 

[ WEB-INF / lib 에 라이브러리 파일 등록하기 ]

 

위에서 절대경로 또는 상대 경로 과정을 수행하면 자바 프로젝트에서 외부 라이브러리 사용이 가능해집니다. 하지만 웹 어플리케이션 프로젝트의 경우 위의 과정만으로는 외부 라이브러리를 사용하지 못합니다. 웹 어플리케이션의 경우 WAS 컨테이너가 'WEB_INF / lib' 폴더에서 외부 라이브러리를 검색하기 때문에 해당 폴더에 라이브러리 파일을 넣어줘야 합니다. 이 방법 또한 프로젝트 내에 파일을 삽입하므로 상대 경로로 지정하는 방법입니다. 

 

 

1. WEB-INF / lib 폴더 열어서 라이브러리 파일(ojdbc.jar) 붙여넣기

 

 

 

 

해당 폴더에 파일을 넣어주기만 해도 WAS 컨테이너가 구동되면서 lib 폴더에 있는 라이브러리를 가장 먼저 찾아보기 때문에 정상 작동되는 것을 확인할 수 있습니다. 

728x90

댓글

💲 추천 글