[戻る]

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にモジュール宣言を記述する方法を採用していたかと。

4.4 Compiler options

  • --releaseオプションで、-sourceと-targetの他に-bootclasspathも適切な値が設定されるとあるが、何が指定されるのだろうか?
  • → 指定したバージョンでサポートされていないAPIはコンパイルエラーになる
    • JEP 247で定義されているかも。宿題!

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 の誤記

Summary

  • 誤植 p.122 上4行目(2項目)、-moudle は --module の誤記

本日は、5章の終わり、p.122 までです。

[戻る]