문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:9:module [2023/01/14 16:09] kwon37xi [기본 명령] |
java:9:module [2023/05/01 22:03] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Java 9 Module ====== | ====== Java 9 Module ====== | ||
| + | * 모듈화(modularization)은 필수는 아니다. | ||
| + | * [[java: | ||
| ===== 기본 명령 ===== | ===== 기본 명령 ===== | ||
| * '' | * '' | ||
| * '' | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| ===== exports / requires ===== | ===== exports / requires ===== | ||
| - | * exports : package 를 export 한다. | + | * '' |
| - | * requires : 다른 module 을 필요로 한다. | + | * '' |
| + | * '' | ||
| + | |||
| + | ===== 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 지정 | | ||
| ===== 참조 ===== | ===== 참조 ===== | ||
| * [[http:// | * [[http:// | ||