如何包含用于选择所需插件的功能?

时间:2019-02-15 02:24:51

标签: eclipse plugins eclipse-plugin eclipse-pde

我正在尝试创建一个更新站点,该站点是我自己的功能和Eclipse功能的组合,我将其添加到“父”功能中,因此在安装时只有一个功能选项。

我的一个插件依赖于Eclipse插件org.eclipse.jst.j2ee.webservice,这是org.eclipse.jst.enterprise_core.feature中的必需插件。将功能添加到我的父功能时,仅添加功能本身,而不添加必需的插件。我想这是预期的。最佳做法是仅包含必需的插件,还是有另一种方法来处理此问题?

<feature
      id="com.my.parent.feature"
      label="%featureName"
      version="1.0.0.qualifier">

   <includes
         id="com.first.feature"
         version="0.0.0"/>    
   <includes
         id="com.second.feature"
         version="0.0.0"/>    
   <includes
         id="com.third.feature"
         version="0.0.0"/>    

   <!-- Only adds feature to update site -->
   <includes
         id="org.eclipse.jst.enterprise_core.feature"
         version="0.0.0"/>

   <!-- plugin gets added to update site -->
   <plugin
         id="org.eclipse.jst.j2ee.webservice"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>
</feature>



<feature
      id="org.eclipse.jst.enterprise_core.feature"
      label="%featureName"
      version="3.10.0.v201803082036"
      provider-name="%providerName">

   <requires>
      <import plugin="org.eclipse.jst.j2ee.webservice"/>
      <import plugin="org.eclipse.jst.j2ee.ejb"/>
      <import plugin="org.eclipse.jst.j2ee.jca"/>
      <import plugin="org.eclipse.jst.jee.ejb"/>
   </requires>

</feature>

1 个答案:

答案 0 :(得分:0)

这是制作功能的常用方法。

“帮助”>“安装新软件”中的“联系所有更新站点以查找所需软件”选项将在相应的更新站点中找到所包含的功能。这样可以确保使用针对用户的Eclipse版本的正确插件。

如果您将插件包含在更新站点中,则它们对于用户的Eclipse而言可能是错误的版本,并可能导致安装或运行时问题。

请注意,您应该将标准Eclipse功能添加为“ Dependencies”而不是包含的功能(这将在feature.xml的requires部分中结束)。您可以在此处指定相关功能的最低版本。