如果我有一个多模块项目,如何从父 POM 继承菜单?项目布局如下:
main <-- main project which just contains modules
parent <-- parent POM
ext <-- 3rd party code
我在我 parent 的
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
的 ext
, 我用了:<menu name="Projects" inherit="top" />
我得到菜单但没有链接。
我还尝试在主项目的
site.xml
中定义菜单但结果是一样的。
最佳答案
我注意到三件事:
第一通知:您必须在父 POM 的 site.xml 中指定继承属性,而不是在子 POM 中。并且在子POM的site.xml中,完全不用重新指定要继承的菜单。
父站点的site.xml:
<menu name="Projects" inherit="top">
<item ...>
</item>
</menu>
child 的 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”作为父级。
关于maven-2 - Maven 站点插件 : How does menu inheritance work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3422151/