java --list-modules : 전체 모듈 목록java --describe-module <module-name> : 모듈 정보 보기jar -f <module.jar> -d : describe module.jar java -p <module-path> --module <module.name> : <module.name> 모듈에 main 으로 지정된 클래스 실행.classpath에서 실행하면 module 기능이 작동하지 않게 된다.exports : package 를 export 한다. export 된 패키지는 public 으로 외부접근 가능하며, 그렇지 않은 패키지는 모듈 내부에서만 사용 가능하다.requires : 다른 module 을 필요로 한다.java.base 모듈은 명시하지 않아도 자동으로 의존한다.module-info.javamodule java.base { exports java.io; exports java.lang; ... }
classpath 상에서 jar를 실행하면 unnamed module 상태가 된다.jar -f movie_fe.jar -d movie.fe automatic ...
| 타입 | path 방식 | module-info.java | requires & exports |
|---|---|---|---|
| unnamed | classpath | 없음 | requires 전체 모듈, exports 전체 패키지 |
| automatic | modulepath | 없음 | requires 전체 모듈, exports 전체 패키지 |
| explicit | modulepath | 있음 | 명시적으로 requires, exports 지정 |