문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:9:module [2023/01/14 16:07] kwon37xi |
java:9:module [2023/05/01 22:03] kwon37xi |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Java 9 Module ====== | ====== Java 9 Module ====== | ||
+ | * 모듈화(modularization)은 필수는 아니다. | ||
+ | * [[java: | ||
===== 기본 명령 ===== | ===== 기본 명령 ===== | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | ===== exports / requires ===== | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ===== module descriptor ===== | ||
+ | * '' | ||
+ | |||
+ | <code java> | ||
+ | module java.base { | ||
+ | exports java.io; | ||
+ | exports java.lang; | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== unnamed module ===== | ||
+ | * '' | ||
+ | |||
+ | ===== automatic module ===== | ||
+ | * module path 에서 실행되는 jar 는 module descriptor 가 없어도 jar 파일 이름이 자동으로 모듈이름이 된다. | ||
+ | * 그래야만 module들 끼리 의존성을 지정하거나 할 수 있다. | ||
+ | * 이 기능이 되어야 class path 기반에서 module path 기반으로 마이그레이션이 가능하다. | ||
+ | |||
+ | <code sh> | ||
+ | jar -f movie_fe.jar -d | ||
+ | |||
+ | movie.fe automatic | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ===== module 타입별 차이점 ===== | ||
+ | ^ 타입 ^ path 방식 ^ '' | ||
+ | | unnamed | classpath | 없음 | requires 전체 모듈, exports 전체 패키지 | | ||
+ | | automatic | modulepath | 없음 | requires 전체 모듈, exports 전체 패키지 | | ||
+ | | explicit | modulepath | 있음 | 명시적으로 requires, exports 지정 | | ||
===== 참조 ===== | ===== 참조 ===== |