是否可以跨java模块使用sharedsecrets?

1cklez4t  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(326)

鉴于:
模块 A 以及 B ,在哪里 B 进口 A .
模块 A 出口 external.class1 . 它定义但不导出 external.class1.secretProvider , internal.SharedSecrets 以及 internal.class2 (下面将详细介绍这些内容)。
模块 A 使用sharedsecrets机制授予 external.class1 访问中的私有方法 internal.class2 使用 external.class1.secretProvider .
我想同意 external.class3 (在模块中定义) B )访问中的私有方法 internal.class2 但看起来 internal.SharedSecrets 以及 external.class1.secretProvider 不是由导出的 A 我没有办法这么做。
有没有办法 B 访问 A 不出口给全世界看的秘密?

vfwfrxfs

vfwfrxfs1#

有没有一种方法可以让b获得a的秘密而不输出给全世界看?
如果我没有搞错这个问题,您可以使用合格的导出来确保您只将那些包导出到特定的(列表)模块。您可以这样做:

module A {
    exports external.class1.secretProvider to B;
    exports internal.SharedSecrets to B;
    // ... rest of your declarations
}

相关问题