我以前从未使用过插件片段。我认为通过在片段中创建一个新类并在片段的清单中导出包含它的包,我将能够从另一个已经依赖于主机插件的插件访问该类。但是,我似乎无法完成这项工作。除了宿主插件之外,任何插件都可以看到片段的内容吗?如果是这样,我是否需要做一些特别的事情才能允许这样做?
问问题
1119 次
1 回答
8
问题不在于片段的内容对另一个插件不可见:它们是 - 只需尝试从类路径加载例如属性文件,如果该属性文件由片段提供,它仍然有效。
但是你没有的是关于片段内容的编译时信息。这就是片段的原则:你不能依赖它。而且您不知道是否有人安装了碎片。
这也不仅仅是“除了宿主插件之外的任何插件”都有的问题。这是一个问题,甚至主机插件本身也有。它在编译时不知道片段的存在。
您也不能可靠地使用片段来覆盖主机插件的部分类:FAQ 片段可以用来修补插件吗?,如果那是你想要做的。该页面还描述了如何完成。
希望这可以帮助。
于 2010-04-11T10:34:16.353 回答