Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 2 Maven站点插件:菜单继承是如何工作的?_Maven 2_Inheritance_Menu_Maven Site Plugin - Fatal编程技术网

Maven 2 Maven站点插件:菜单继承是如何工作的?

Maven 2 Maven站点插件:菜单继承是如何工作的?,maven-2,inheritance,menu,maven-site-plugin,Maven 2,Inheritance,Menu,Maven Site Plugin,如果我有一个多模块项目,如何从父POM继承菜单?项目布局为: main <-- main project which just contains modules parent <-- parent POM ext <-- 3rd party code 在ext的site.xml中,我使用了: <menu name="Projects" inherit="top" /> 我得到菜单,但没有链接 我还尝试在主项目的site.xml中定义

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

main <-- main project which just contains modules
   parent   <-- parent POM
   ext      <-- 3rd party code
ext
site.xml
中,我使用了:

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

我得到菜单,但没有链接


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

我注意到三件事:

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

父项的site.xml:

<menu name="Projects" inherit="top">
  <item ...>
  </item>
</menu>
<!-- 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" />

子项的site.xml:没有name=“Projects”的菜单定义

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

父项的site.xml:

<menu name="Projects" inherit="top">
  <item ...>
  </item>
</menu>
<!-- 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”作为父项。

谢谢,下次更新项目时我会尝试这样做。