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

次の 3 つのことに気付きました。

最初の通知:子 POM ではなく、親 POM の site.xml で inherit 属性を指定する必要があります。また、子POMのsite.xmlでは、継承するメニューを一切指定し直さないでください。

親の site.xml:

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

子の site.xml: name="Projects" のメニュー定義がありません。

2 番目の通知:プロジェクト構造のリンクは自動的に構築できます。

親の 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" />

これにより、すべてのモジュール間リンクが生成されます。

3 つ目の通知:サイト記述子は、プロジェクト記述子と同じように継承されます。モジュール「ext」が他のモジュールからサイト記述子のメニュー エントリを継承する必要がある場合、ext は pom.xml の親として「main」または「parent」を持っている必要があります。

于 2011-03-16T19:23:59.770 に答える