Project Explore 复制了 Package Explorer 的弹出菜单项

Project Explore has replicated(duplicated) popup menu entry of Package Explorer

我不熟悉在 Eclipse 中创建扩展。我正在尝试向 Project Explorer 和 Package Explorer 添加相同的上下文菜单。

XXX_label 是菜单,XXX、YYY 和 ZZZ 是命令。

对于 Link 中描述的项目资源管理器,我添加了项目资源管理器和包资源管理器的条目。

Plugin.xml

<plugin>     
<extension
     point="org.eclipse.ui.menus">
  <menuContribution
        allPopups="false"
        locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
     <menu
           id="XXX_Project"
           label="XXX_label">
     </menu>
  </menuContribution>
  <menuContribution
        allPopups="false"
        locationURI="popup:XXX_Project?after=additions">
     <command
           commandId="demoeeeeeeeemenu.XXX"
           id="XXX"
           label="XXX"
           style="push">
        <visibleWhen>
           <with
                 variable="activeMenuSelection">
              <iterate
                    ifEmpty="true"
                    operator="or">
                 //Only option to get the Project instance in core expression is adapt type!!
                 <adapt
                       type="org.eclipse.core.internal.resources.Project">
                 </adapt>
              </iterate>
           </with>
        </visibleWhen>
     </command>
     <command
           commandId="demoeeeeeeeemenu.YYY"
           label="YYY"
           style="push">
     </command>
     <command
           commandId="demoeeeeeeeemenu.ZZZ"
           label="ZZZ"
           style="push">
     </command>
  </menuContribution>
  <menuContribution
        allPopups="false"
        locationURI="popup:popup:org.eclipse.jdt.ui.PackageExplorer#PopupMenu?after=additions">
     <menu
           id="XXX_package"
           label="XXX_label">
     </menu>
  </menuContribution>
  <menuContribution
        allPopups="false"
        locationURI="popup:XXX_package?after=additions">
     <command
           commandId="demoeeeeeeeemenu.XXX"
           label="XXX"
           style="push">
     </command>
     <command
           commandId="demoeeeeeeeemenu.YYY"
           label="YYY"
           style="push">
     </command>
     <command
           commandId="demoeeeeeeeemenu.ZZZ"
           label="ZZZ"
           style="push">
     </command>
  </menuContribution>
</extension>
<extension
     point="org.eclipse.ui.commands">
  <command
        id="demoeeeeeeeemenu.XXX"
        name="XXX">
  </command>
  <command
        id="demoeeeeeeeemenu.YYY"
        name="YYY">
  </command>
  <command
        id="demoeeeeeeeemenu.ZZZ"
        name="ZZZ">
  </command>
</extension>
</plugin>

如何消除包资源管理器所做的额外条目? 感谢任何帮助。

编辑: 我认为最好使用 locationURI="popup:org.eclipse.ui.popup.any?after=additions" 作为单个弹出条目,这将在包资源管理器、项目资源管理器和导航器中添加菜单条目。

包资源管理器的位置 URI 是:popup:org.eclipse.jdt.ui.PackageExplorer