본문 바로가기

BackEnd/Java

[java] 이것이 자바다 ch10 라이브러리와 모듈

728x90
반응형

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 버전부터 적용이 가능합니다. 따라서 다른 버전으로 실습해서 올려보도록 하겠습니다!!

 

많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~

 

728x90
반응형