トップ 一覧 置換 検索 ヘルプ RSS ログイン

Javaのmodule機能の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!参考
http://d.hatena.ne.jp/bitter_fox/20160921/1474476977

!!!概要
Java9からmodule機能(Project Jigsaw)が有効になった。
大雑把にはパッケージの公開、非公開を指定することが可能になった。

!!!moduleを使う
javacやjava等のコマンドにmoduleを使うオプションが追加されている。
主に -p(または--module-path)と--add-modules を使う。
!-p (または--module-path)
jarファイルやjarファイルが存在しているディレクトリを指定する。
複数ある場合は「;」で区切る。
ディレクトリを指定すれば、ディレクトリ内の全てのjarが対象になる。

!--add-modules
利用するモジュールを指定する。

!例
 java -p lib --add-modules testmodule test


!!!moduleを定義する
module-info.java というファイルをルートパッケージ(パッケージの同列の階層)に定義する

!exports <package>
packageを他のモジュールからアクセス可能にする。
 module m {
     exports p;
 }

!exports <package> to <module>...
packageを特定のモジュールからのみアクセス可能にする。
 module m {
     exports p to m1, m2;
 }

!exports private <package>
privateなフィールドやメソッドに対して、リフレクションでアクセス可能にする。

!requires <module>
moduleを読み込む。


{{category2 プログラミング言語,Java}}