如果我有一个多模块项目,如何从父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.xml
的{{1}}中,我使用了:
ext
我收到菜单但没有链接。
我还尝试在主项目的<menu name="Projects" inherit="top" />
中定义菜单,但结果是一样的。
答案 0 :(得分:3)
我发现了三件事:
首先注意:您必须在父POM的site.xml中指定inherit属性,而不是在子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”作为父级。