Java 9模块化与软件包

Java 9模块化与软件包,java,java-9,modularity,java-module,Java,Java 9,Modularity,Java Module,假设我有两个模块: 模块1具有包package1 模块2有package2、package3和package4 我希望模块2中的package1仅对package2可见。不适用于模块2中的任何其他软件包(package3或package4) 使用module info.java可以吗?不,这是不可能的。您只能将包导出到整个模块: module module1 { exports package1 to module2; } 顺便说一句,你不能在一个模块中完成。它可以是包私有的,也可

假设我有两个模块:

  • 模块1具有包
    package1

  • 模块2有
    package2
    package3
    package4

我希望模块2中的
package1
仅对
package2
可见。不适用于模块2中的任何其他软件包(
package3
package4


使用module info.java可以吗?

不,这是不可能的。您只能将包导出到整个模块:

module module1 {
    exports package1 to module2;
}

顺便说一句,你不能在一个模块中完成。它可以是包私有的,也可以是公共的。我想知道如果没有JPMS,您的用例到底是什么?无法理解您在此处的需求。请引用JLS以支持这一点。