【问题标题】:Is it possible to use SharedSecrets across Java modules?是否可以跨 Java 模块使用 SharedSecrets?
【发布时间】:2018-12-06 14:03:11
【问题描述】:

给定:

  • 模块AB,其中B 导入A
  • 模块A 导出external.class1。它定义但不导出 external.class1.secretProviderinternal.SharedSecretsinternal.class2(更多内容见下文)。
  • 模块A 使用the SharedSecrets mechanism 授予external.class1 使用external.class1.secretProvider 访问internal.class2 中的私有方法。

我希望授予external.class3(在模块B 中定义)对internal.class2 中私有方法的访问权限,但看到internal.SharedSecretsexternal.class1.secretProvider 没有被A 导出我没有办法这样做.

有没有办法让B 访问A 的秘密而不将其导出给全世界看?

【问题讨论】:

  • 为什么不使用合格的导出? exports external.class1.secretProvider to B.. 如果我理解正确的问题,那就是你要找的。​​span>

标签: java java-module module-info


【解决方案1】:

有没有办法让 B 访问 A 的秘密而不导出它们 让全世界都看到?

如果我没有弄错问题,您可以使用 qualified exports 来确保将这些包仅导出到特定(列表)模块。你可以这样做:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-08
  • 2022-06-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多