2017-05-20 13 views
4

Java 9モジュールはクラスパス地獄を解決すると言われています。 しかし、私は以下の状況について考えています: モジュールAはモジュールBとCを使用します。両方のモジュールは同じ名前とパッケージを持つクラスをエクスポートします。クラスローディングの問題はここでどのように解決されますか?Java 9モジュールとクラスパスhell:競合するクラス名

答えて

7

この状況は、Java 9モジュールシステムでは禁止されています。同じレイヤー内の2つのモジュールが同じパッケージを持つ場合、起動時にエラーが発生してJava 9が失敗します。

java.lang.LayerInstantiationException: 
    Package <package_name> in both module <moduleB_name> and module <moduleC_name> 
関連する問題