[戻る]
Java読書会BOF「The Java Module System」を読む会 第4回¶
日時 | 2020年2月1日 10:00 - 17:00 |
場所 | 教育文化会館 第3研修室 |
出席者(敬称略) | 根本、遠藤、吉本、平山、生島、大部、岩室、高橋(智)、高橋(徹)(書記) |
- 本日は、洋書「The Java Module System」 の第4回です。 前回の続き p.88 から開始
Part 1 Hello, modules¶
Chapter 4 Building modules from source to JAR¶
4.1.3 The place for module declarations¶
4.2.1 Compiling modular¶
- shiny module とは? 何か口語的な意味がありそうだが。
- → ググるといっぱいでてくるが、意味が不明
- → R言語に shiny package という言語仕様があり、小さなソースを管理するものらしい。そこから来ていると思われる。
- javacって、ソースファイルをべたに列挙しないと駄目なの?
- → javacには、--source-pathオプションがあり、ディレクトリを指定することができる。ただし最初のソースファイル指定は必要。モジュールにも、--module-source-pathオプションがある
4.2.2 Modular or non-modular?¶
- 非モジュールなアプリケーションをコンパイルするときも、JDKなどモジュール化された型を呼ぶときは、exportsされたパッケージのものでないと参照できない。
- module-info.javaではなく、MANIFEST.MFにモジュール宣言を記述してjavacがそれをチェックするという選択もあったのでは?
- → OSGiモジュールが確かMANIFEST.MFにモジュール宣言を記述する方法を採用していたかと。
5. Running and debugging modular applications¶
5.1 Launching the JVM with modules¶
- 最後の文、"the main class you set in the module descriptor during packaging in section 4.5.3"とあるが、module-info.classにメインクラスが含まれるのか? MANIFEST.MFに書かれるだけではないか?
- module-info.classを見る限り、メインクラスは含まれていない(javapおよびstringsで確認)
5.1.3 Passing parameters to the application¶
- javaコマンドで、--module monitor の指定の後に指定するものはjava(JVM)オプションにはならなず、mainメソッドの引数に渡されるのは、GNUコマンドライン オプションっぽくない。
5.2.1 Resource loading before Java 9¶
- 誤植 List 5.1 最初の文(Class.forName)にセミコロン抜け
5.2.3 Loading package resource across module boundaries¶
- 【宿題】同じパッケージ内でリソースを取得(URL)し、そのURLを外部のパッケージに渡した場合、外部のパッケージがURLを読み込んだら成功するのかどうか?
5.3.1 Analyzing individual modules¶
- 誤植 下10行目 --describe は、--describe-module の誤記
5.3.3 Validating a module graph¶
- 【宿題】最後の文で、if you're using a custom class loader, custom security manager, or agents, they will be initiated even with --dry-run.とあるが、どこまで実行するのか?
5.3.5 Excluding modules during resolution¶
- 誤植 p.116 下4行目 add-modules は、--add-modules の誤記
- 誤植 p.117 Figure 5.3の図中説明文1行目 --limit--modules は --limit-modules の誤記