사용자 도구

사이트 도구


java:9:module

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:9:module [2023/01/14 23:16]
kwon37xi [Java 9 Module]
java:9:module [2023/05/01 22:03] (현재)
kwon37xi
줄 1: 줄 1:
 ====== Java 9 Module ====== ====== Java 9 Module ======
   * 모듈화(modularization)은 필수는 아니다.   * 모듈화(modularization)은 필수는 아니다.
 +  * [[java:jdeps|jdeps]]
 ===== 기본 명령 ===== ===== 기본 명령 =====
   * ''java %%--%%list-modules'' : 전체 모듈 목록   * ''java %%--%%list-modules'' : 전체 모듈 목록
줄 6: 줄 7:
   * ''jar -f <module.jar> -d'' : describe ''module.jar''   * ''jar -f <module.jar> -d'' : describe ''module.jar''
   * '' java -p <module-path> %%--module%% <module.name>'' : ''<module.name>'' 모듈에 main 으로 지정된 클래스 실행.   * '' java -p <module-path> %%--module%% <module.name>'' : ''<module.name>'' 모듈에 main 으로 지정된 클래스 실행.
 +  * ''classpath''에서 실행하면 module 기능이 작동하지 않게 된다.
 ===== exports / requires ===== ===== exports / requires =====
   * ''exports'' : package 를 export 한다. export 된 패키지는 public 으로 외부접근 가능하며, 그렇지 않은 패키지는 모듈 내부에서만 사용 가능하다.   * ''exports'' : package 를 export 한다. export 된 패키지는 public 으로 외부접근 가능하며, 그렇지 않은 패키지는 모듈 내부에서만 사용 가능하다.
줄 21: 줄 23:
 } }
 </code> </code>
 +
 +===== unnamed module =====
 +  * ''classpath'' 상에서 jar를 실행하면 unnamed module 상태가 된다.
  
 ===== automatic module ===== ===== automatic module =====
줄 33: 줄 38:
 ... ...
 </code> </code>
 +
 +===== module 타입별 차이점 =====
 +^ 타입 ^ path 방식 ^ ''module-info.java'' ^ requires & exports ^
 +| unnamed | classpath | 없음 | requires 전체 모듈, exports 전체 패키지 |
 +| automatic | modulepath | 없음 | requires 전체 모듈, exports 전체 패키지 |
 +| explicit | modulepath | 있음 | 명시적으로 requires, exports 지정 |
  
 ===== 참조 ===== ===== 참조 =====
java/9/module.1673705775.txt.gz · 마지막으로 수정됨: 2023/01/14 23:16 저자 kwon37xi