티스토리 뷰
출처 - 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 |