モジュールパスに配置されたclassファイルに関して
(jarファイルに圧縮されてないclassファイル)
以下の認識で合っていますでしょうか? このclassファイルは無名モジュール・自動モジュールに属さない。
<packageA.java>
package packageA;
public class packageA {
public static void main(String[] args) {
System.out.println(packageB.packageB.class);
}
}
<packageB.java>
package packageB;
public class packageB {}
<コンパイル・jarファイル作成>
cd /temporary & javac -encoding utf-8 ./tempA/packageA/packageA.java ./tempB/packageB/packageB.java & jar -cf ./tempA/automaticA.jar -C ./tempA ./packageA/packageA.class
<ディレクトリ構造>
cd /temporary & tree /f
C:.
│ java
│ javac
├─tempA
│ │ automaticA.jar
│ └─packageA
│ packageA.class
│ packageA.java
└─tempB
│ └─packageB
│ packageB.class
│ packageB.java
<①-cp>
cd /temporary & java --show-module-resolution -cp ./tempA/automaticA.jar;./tempB packageA.packageA
class packageB.packageB
<②-cp -p>
cd /temporary & java --show-module-resolution -cp ./tempB -p ./tempA -m automaticA/packageA.packageA
root automaticA file:///C:/temporary/./tempA/automaticA.jar automatic
class packageB.packageB
<③-p>
cd /temporary & java --show-module-resolution -p ./tempA;./tempB -m automaticA/packageA.packageA
root automaticA file:///C:/temporary/./tempA/automaticA.jar automatic
Exception in thread "main" java.lang.NoClassDefFoundError: packageB/packageB
動作確認できたので、エビデンスとして追記しました。

回答1件
あなたの回答
tips
プレビュー