演習課題「requires transitive を試してみよう」
現在、/home/ubuntu/java-module/source/jp.co.paiza.testa/jp/co/paiza/testa/Testa.java
にて、記述した内容を実行しようとしています。しかし、/home/ubuntu/java-module/source/jp.co.paiza.testa/module-info.java
が、/home/ubuntu/java-module/source/jp.paiza.testb/module-info.java
に依存し、/jp.paiza.testb/module-info.java
が、/home/ubuntu/java-module/source/jp.paiza.testc/module-info.java
に依存しているものの、/home/ubuntu/java-module/source/jp.co.paiza.testa
から、/home/ubuntu/java-module/source/jp.paiza.testc
以下の内容を利用できません。/jp.paiza.testb/module-info.java
にて、requires transitive
を付与し、Testa.java
にて、import文 と、import したクラスの、インスタンス変数の宣言と、メソッドの実行を記述し、記述した内容を実行してください。
なお、コンパイルコマンドについて理解できていれば、以下のコンパイルコマンドをコピーして利用してください。
$ javac -d classes/jp.paiza.testc -p classes source/jp.paiza.testc/module-info.java source/jp.paiza.testc/jp/paiza/testc/*/*.java
$ javac -d classes/jp.paiza.testb -p classes source/jp.paiza.testb/module-info.java source/jp.paiza.testb/jp/paiza/testb/*/*.java
$ javac -d classes/jp.co.paiza.testa -p classes source/jp.co.paiza.testa/module-info.java source/jp.co.paiza.testa/jp/co/paiza/*/*.java
また、実行コマンドについて理解できていれば、以下のコンパイルコマンドをコピーして利用してください。
$ java -p classes -m jp.co.paiza.testa/jp.co.paiza.testa.Testa
期待する出力値
Testa
Practicea
Practiceb
Practicec
Practicec
演習課題「exports to を試してみよう」
現在、/home/ubuntu/java-module/source/jp.co.paiza.testa/jp/co/paiza/testa/Testa.java
にて、記述した内容を実行しようとしています。しかし、/home/ubuntu/java-module/source/jp.paiza.testc
以下の内容を、/home/ubuntu/java-module/source/jp.paiza.testb
以外で使いたくありません。そこで、/home/ubuntu/java-module/source/jp.paiza.testc/module-info.java
において、制限付きexports を使用し、jp.paiza.testb
以外で使えないようにしてください。ただし、Testa.java
において、jp.paiza.testc
以下の内容を利用している記述は削除してください。その後、正しく実行してください。
なお、コンパイルコマンドについて理解できていれば、以下のコンパイルコマンドをコピーして利用してください。
$ javac -d classes/jp.paiza.testc -p classes source/jp.paiza.testc/module-info.java source/jp.paiza.testc/jp/paiza/testc/*/*.java
$ javac -d classes/jp.paiza.testb -p classes source/jp.paiza.testb/module-info.java source/jp.paiza.testb/jp/paiza/testb/*/*.java
$ javac -d classes/jp.co.paiza.testa -p classes source/jp.co.paiza.testa/module-info.java source/jp.co.paiza.testa/jp/co/paiza/*/*.java
また、実行コマンドについて理解できていれば、以下のコンパイルコマンドをコピーして利用してください。
$ java -p classes -m jp.co.paiza.testa/jp.co.paiza.testa.Testa
期待する出力値
Testa
Practicea
Practiceb
Practicec
#04:requires transitive と exports to
このチャプターでは、モジュール・ディレクティブのrequires transitive, exports toについて学習します。
・jp.co.paiza.a(モジュールを含めた形)javac -d classes/jp.co.paiza.a -p classes source/jp.co.paiza.a/module-info.java source/jp.co.paiza.a/jp/co/paiza/*/*.java
・jp.paiza.b(モジュールを含めた形)javac -d classes/jp.paiza.b -p classes source/jp.paiza.b/module-info.java source/jp.paiza.b/jp/paiza/b/*/*.java
・jp.paiza.c(モジュールを含めた形)javac -d classes/jp.paiza.c -p classes source/jp.paiza.c/module-info.java source/jp.paiza.c/jp/paiza/c/*/*.java
java -p classes --module jp.co.paiza.a/jp.co.paiza.a.A