我有一个第三方 eclipse 插件,它导出了一些在我的其他插件编译期间不应该存在的包。
这些包对下游插件无条件可见(根据此处的约定,它被归类为可访问)。
一种选择是手动编辑插件并禁止导出的包。编辑插件对我来说不是一个选项(许可证问题)。
另一种选择是使用 -Dosgi.resolverMode=strict VM 参数启动。我也不能使用此选项,因为这会影响我环境中的其他插件。
上面我的理解可能有误。任何帮助将不胜感激,或者欢迎任何其他选择。
例如 :
我有一个名为 net.jeeeyul.eclipse.themes_2.2.0.I20140916-113709 的插件,它导出以下包
Export-Package: com.google.common.annotations,com.google.common.base,c
om.google.common.base.internal,com.google.common.cache,com.google.com
mon.collect,com.google.common.escape,com.google.common.eventbus,com.g
oogle.common.hash,com.google.common.html,com.google.common.io,com.goo
gle.common.math,com.google.common.net,com.google.common.primitives,co
m.google.common.reflect,com.google.common.util.concurrent,com.google.
common.xml,net.jeeeyul.eclipse.themes,net.jeeeyul.eclipse.themes.css,
net.jeeeyul.eclipse.themes.rendering,net.jeeeyul.eclipse.themes.util,
org.eclipse.xtend.lib,org.eclipse.xtend.lib.annotations,org.eclipse.x
tend2.lib,org.eclipse.xtext.xbase.lib,org.eclipse.xtext.xbase.lib.int
ernal,org.eclipse.xtext.xbase.lib.util
这不应该发生。在编译期间,这些插件中的任何一个都不应该对其他插件可见。