티스토리 뷰

IT/개발

Java9 - Module System

K.Nero 2019. 3. 12. 00:32

출처 - https://www.tutorialspoint.com/java9/java9_module_system.htm

Java 9 에서는 모듈이라고 불리는 새로운 프로그래밍 요소가 소개되었습니다. 모듈은 코드와 데이터와 구분 짓기 위한 자체 이름을 갖고 있는 self-describing 집합입니다.

Feature

모듈 요소들과 함께 다음 사항들이 강화되었습니다.

-  링크 시간이라는 새로운 선택적 단계가 도입되었습니다. 이 단계는 컴파일 시간과 실행 시간 사이에 있으며 이 단계동안 jlink 도구를 사용하여 일련의 모듈을 어셈블 및 최적화하여 사용자 정의 런타임 이미지를 만들 수 있습니다.

- javac, jlink, java 는 추가적인 옵션으로 특정 모듈의 경로를 설정하고 경로를 통해 모듈의 정의를 찾습니다.

- JAR 포맷는 modular JAR 로 업데이트 되었고 module-info.class 파일이 최상위 디렉토리에 포함되어 있습니다.

- JMOD 포맷은 JAR 와 비슷한 형태의 묶음으로 native 코드와 configuration 파일을 포함할 수 있습니다.

CreateModule

Step1. 
c:\> java/src 폴더를 만들고 우리가 만들고 있는 모듈의 이름과 같은 com.tutorialspoint.greetings  를 만듭니다.  (하나의 폴더 이름이 com.tutorialspoint.greetings 입니다. 경로로 생성하면 안됩니다.)

step2.
java/src/com.tutorialspoint.greetings 폴더안에 module-info.java 를 다음 코드로 생성합니다.

module com.tutorialspoint.greetings { }

step3.
모듈안의 소스코드를 추가합니다. Java9Tester.java 를 java/src/com.tutorialspoint.greetings/com/tutorialspoint/greetings 폴더 안에 다음 코드로 생성합니다.

package com.tutorialspoint.greetings;

public class Java9Tester {
   public static void main(String[] args) {
      System.out.println("Hello World!");
   }
}

규약에 따라 모듈의 소스코드는 모듈의 소스코드는 모듈과 같은 이름의 디렉토리에 있습니다.

step4.
java/mods 폴더를 만들고 지금 우리가 생성한 모듈의 이름과 같은 com.tutorialspoint.greetings 폴더를 생성합니다. 그리고 mods 디렉토리로  모듈을 컴파일합니다.

C:/ > JAVA > javac -d mods/com.tutorialspoint.greetings src/com.tutorialspoint.greetings/module-info.java src/com.tutorialspoint.greetings/com/tutorialspoint/greetings/Java9Tester.java

step5.
아래와 같이 샐행하여 결과를 확인합니다.

C:/>JAVA>java --module-path mods -m com.tutorialspoint.greetings/com.tutorialspoint.greetings.Java9Tester

여기서 module-path는 모듈 위치를 mods로 제공하고 -m은 주 모듈을 나타냅니다.

결과 : Hello World! (누구나 예상한..)


'IT > 개발' 카테고리의 다른 글

Java9 - Stream API Improvements  (0) 2019.03.20
Java9 - Collection Factory Methods  (0) 2019.03.14
Java default timezone  (0) 2019.03.07
Java8 Feature  (0) 2019.03.04
local Docker 개발 환경 만들기  (0) 2018.10.19
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함