通过插件导出包

时间:2015-05-29 05:12:43

标签: java eclipse export runtime-packages

我有一个第三方eclipse插件,它导出了一些在编译我的其他插件时不应该出现的软件包。

无条件地向下游插件显示包(根据约定here将其分类为Accessible。)

  1. 一种选择是手动编辑插件并禁止导出的包。编辑插件对我来说不是一个选项(许可证问题)。

  2. 另一种选择是使用-Dosgi.resolverMode = strict VM参数启动。我也不能使用此选项,因为这会影响我环境中的其他插件。

  3. 我的理解可能错在上面。任何帮助将不胜感激,或欢迎任何其他选择。

  4. 例如:

    我有一个名为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
    

    这不应该发生。在编译期间,其他插件都不应该看到这些插件。

1 个答案:

答案 0 :(得分:0)

在每个下游插件项目中,您可以通过Java构建路径添加访问规则:转到属性节点 Java构建路径>图书馆>插件依赖性>访问规则。尝试此方法时,请参阅Combine Access Rules