演習課題「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について学習します。