1. 라이브러리
▷ 프로그램 개발시 활용할 수 있는 클래스와 인터페이스들을 모아놓은 것입니다.
▷ 일반적으로 JAR 압축 파일(~.jar) 형태입니다. 클래스와 인터페이스의 바이트코드 파일(~.class)들이 압축되어 있습니다.
▷ 라이브러리 JAR 파일을 이용하려면 ClassPath(클래스를 찾기 위한 경로)에 추가
▷ 콘솔(명령 프롬프트 또는 터미널)에서 프로그램을 실행할 경우
: java 명령어를 실행할 때 -classpath로 제공합니다. 또는 CLASSPATH 환경 변수에 경로를 추가합니다.
▷ 이클립스 프로젝트에서 실행할 경우: 프로젝트의 Bulid Path에 추가합니다.
◎ 라이브러리 생성 목적
→ JAR 파일을 만들어서 자신의 코드(패키지, 클래스)를 저장하면 다음 번에 만들 필요 없이 가져와서 사용할 수 있습니다.
2. my_lib 라이브러리 프로젝트 생성 예시
(1) 이클립스 메뉴 [File] - [New] - [Java Project] 선택하고 [Finish] 합니다.
Project name : my_lib
Module : [체크해제] Create module-info.java file (중요)
(2) Package Explorer 뷰에서 src 폴더를 선택하고 마우스 오른쪽 버튼을 클릭해 [New] - [Package]로 pack1, pack2 패키지를 생성하고 A, B클래스를 만듭니다.
◎ A 클래스
package pack1; public class A { // 메소드 선언 public void method() { System.out.println("A-method 실행"); } }
◎ B 클래스
package pack2; public class B { // 메소드 선언 public void method() { System.out.println("B-method 실행"); } }
(3) my_lib 프로젝트를 선택하고 마우스 오른쪽 버튼을 클릭해 [New] - [Folder]를 선택해 이름이 dist인 폴더를 생성합니다.
(4) my_lib 프로젝트를 선택하고 마우스 오른쪽 버튼을 클릭해 [Export]를 선택합니다. Export 대화 상자의 Select an export wizard에서 Java 항목을 확장하면 보이는 JAR file을 선택한 후 [Next] 버튼을 선택합니다.
(5) Select the resources to export에서 my_lib를 확장한 후 그 안의 scr폴더만 체크하고 나머지는 체크 해제합니다.
▷ 클래스가 있는 것만 압축을 해야합니다.
(6) Select the export destination에서 [Browse] 버튼을 클릭하고 , my_lib 프로젝트 dist 폴더로 이동합니다.
파일 이름은 'my_lib.jar'로 입력하고 [저장]과 [Finish] 버튼을 클릭합니다.
(7) Package Explorer 뷰에서 my_lib 프로젝트를 선택하고 마우스 오른쪽 버튼을 클릭해 [Refresh]를 선택합니다.
그리고 다음과 같이 구조가 생성되었는지 확인합니다.
3. my_application_1 프로젝트 생성 예시
(1) 이클립스 메뉴 [File] - [New] - [Java Project] 선택하고 [Finish] 합니다.
Project name : my_application_1
Module : [체크해제] Create module-info.java file (중요)
(2) my_application_1 프로젝트를 이클립스에서 컴파일할 때와 실행할 때 my_lib.jar을 사용하기 위해 Build Path에 추가합니다. Package Explorer 뷰에서 my_application_1 프로젝트를 선택하고 마우스 오른쪽 버튼을 클릭해 [Build Path] - [Configure Build Path]를 선택합니다.
▷ 이클립스 메뉴 [File] - [New] - [Java Project] 선택하고 [Finish] 합니다.
(3) [Libraries] 탭에 들어가 JARs and class folders on the build path에서 Classpath 항목을 선택하고 [Add External JARs] 버튼을 클릭합니다. my_lib 프로젝트의 dist 폴더에 있는 my_lib.jar 파일을 선택하고 [Apply and Close] 버튼을 클릭합니다.
다시 my_application_1 프로젝트를 선택하고 [Build Path] - [Configure Build Path] t선택하면 classpath에 라이브러리 파일이 등록된 것을 확인할 수 있습니다.
(4) my_application_1 프로젝트의 src 폴더 안에 app 패키지를 하나 생성하고 그 안에 Main 클래스를 생성합니다.
(5) Main 클래스를 작성하고 이클립스에서 실행합니다.
package app; import pack1.A; import pack2.B; public class Main { public static void main(String[] args) { A a = new A(); a.method(); B b = new B(); b.method(); } } // 출력 : // A-method 실행 // B-method 실행
▷ 최종적으로는 다른 프로젝트의 패키지나 클래스를 jar 파일에 저장을 하고 build path를 통해 연결해 main 클래스에서 사용할 수 있도록합니다.
4. 콘솔에서 -classpath 옵션 사용
(1) cmd 창으로 들어가서 아래의 경로로 지정해줍니다.
→ cd javawork\my_application_1\bin\app
(2) 경로를 작성하면 내부의 Main이 실행됩니다.(이때 패키지 전까지 경로를 지정해야합니다!)
▷ 작성 코드 : java -classpath c:\javawork\my_lib\dist\my_lib.jar; app.Main
▷ classpath 대신 cp를 사용해도 됩니다.
(3) 환경변수 CLASSPATH를 따로 설정하면 해당 코드를 생략하고 명령 창에 작성해도 됩니다.
▷ [시스템] → [고급 시스템 설정] → [환경 변수] → [시스템 변수] → [새로 만들기]
(4) 아래와 같이 bin까지 들어가서 코드를 작성하면 명령이 실행됩니다.
▷ 작성 코드 : java app.Main
◎ 자바에서는 아래와 같이 파일이 구분이 됩니다.
▷ jre : 실행하는 파일
▷ jdk : 개발하는 파일(용량이 더 큽니다.)
모듈은 java 9 버전부터 적용이 가능합니다. 따라서 다른 버전으로 실습해서 올려보도록 하겠습니다!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > Java' 카테고리의 다른 글
[java] ch11 예외 처리 2 (0) | 2023.01.19 |
---|---|
[java] ch11 예외 처리 1 (0) | 2023.01.18 |
[java] 이것이 자바다 ch09 중첩 선언 2 및 익명 객체 (0) | 2023.01.17 |
[java] 이것이 자바다 ch09 중첩 선언 (0) | 2023.01.17 |
[java] 인터페이스2 (0) | 2023.01.16 |