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.java
module 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 지정 |