4

如果我有一个多模块项目,如何从父 POM 继承菜单?项目布局如下:

main <-- main project which just contains modules
   parent   <-- parent POM
   ext      <-- 3rd party code

我在父母那里试过这个site.xml

<menu name="Projects">
   <item name="Main Project" href="${web-root}/" collapse="false">
      <item name="Parent POM" href="${web-root}/parent/" />
      <item name="3rd Party" href="${web-root}/ext/">
   </item>
</menu>

site.xmlext,我使用了:

<menu name="Projects" inherit="top" />

我得到菜单但没有链接。

我也尝试在主项目中定义菜单,site.xml但结果是一样的。

4

1 回答 1

4

我注意到三件事:

首先注意:您必须在父 POM 的 site.xml 中指定继承属性,而不是在子 POM 中。并且在子POM的site.xml中,完全不用重新指定要继承的菜单。

父站点的site.xml:

<menu name="Projects" inherit="top">
  <item ...>
  </item>
</menu>

孩子的 site.xml:没有名称为“项目”的菜单定义。

第二个注意事项:您的项目结构的链接可以自动构建:

父站点的site.xml:

<!-- Inherit this menu for sub modules. -->
<menu ref="parent" inherit="top" />

<!-- Inherit this menu for sub modules. -->
<menu name="Sub Modules" ref="modules" inherit="bottom" />

这将为您生成所有模块间链接。

第三个注意事项:站点描述符的继承与项目描述符的继承方式相同。如果您的模块“ext”应该从其他模块继承站点描述符中的菜单条目,则 ext 在 pom.xml 中必须具有“main”或“parent”作为父级。

于 2011-03-16T19:23:59.770 回答