代码之家  ›  专栏  ›  技术社区  ›  Mike Daniels

片段的内容在宿主插件外部可见吗?

  •  6
  • Mike Daniels  · 技术社区  · 15 年前

    我以前从未处理过插件碎片。我想,通过在片段中创建一个新类并导出包含在片段清单中的包,我就可以从另一个已经依赖于宿主插件的插件访问该类。然而,我似乎不能让这工作。除了主机插件之外,任何插件都能看到片段的内容吗?如果是的话,我有什么特别的事情要做吗?

    1 回复  |  直到 10 年前
        1
  •  8
  •   kiritsuku    10 年前

    问题不是,片段的内容对另一个插件不可见:它们只是-尝试从类路径加载一个属性文件,如果该属性文件是由片段提供的,它仍然可以工作。

    但你没有的是关于片段内容的编译时信息。这就是片段的原理:你不能依赖它。你不知道,是否有人安装了碎片。

    这不仅仅是“除了主机插件之外的任何插件”都会遇到的问题。这是一个问题,甚至主机插件本身也有。它不知道片段在编译时是否存在。

    您也不能可靠地使用片段覆盖主机插件类的某些部分: FAQ Can fragments be used to patch a plug-in? ,如果你想这么做的话。这一页还描述了如何做到这一点。

    希望这有帮助。