最後の解決策から1年以上経ちました。
私はこの回避策が好きではありませんでした。別の解決策が必要です。
だからここにあります:
Maven サイト プラグイン FAQ:
http://maven.apache.org/plugins/maven-site-plugin/faq.html#Use_of_url
「一方、は相対リンクを構築するためにマルチモジュール ビルドで使用されます [...]。マルチ モジュール ビルドでは、親モジュールと子モジュールが異なる URL を持つことが重要です。」
すべての pom.xml で、異なる URL を使用して <distributionManagement> タグを宣言する必要があります。
親 POM:
<distributionManagement>
<site>
<id>mysite</id>
<name>My Site</name>
<url>ftp://server.example.com/htdocs/site/</url>
</site>
</distributionManagement>
子 1 POM:
<distributionManagement>
<site>
<id>mysite</id>
<name>My Site</name>
<url>ftp://server.example.com/htdocs/site/one/</url>
</site>
</distributionManagement>
子 2 POM:
<distributionManagement>
<site>
<id>mysite</id>
<name>My Site</name>
<url>ftp://server.example.com/htdocs/site/two/</url>
</site>
</distributionManagement>
これで、サイトが生成され、ステージングが要求どおりに機能します。ステージングされたサイトはで生成されますparent/target/staging
-D を使用して別のステージング ディレクトリを送信できます
mvn -DstagingDirectory=D:/Temp/Site package site site:stage
注:子 2 が子 1 を依存関係として持つ場合、ゴールパッケージが必要です。packageを使用すると、リポジトリに依存関係がないというエラーが発生することなく、ゴールサイトが実行されます。
編集: <distributionManagement> と同じパスを使用する各アーティファクトに <url> を提供する必要があります。これは、report-info-plugin で生成された index.html は <url> を使用して相対パスを計算しますが、site:stage は <distributionManagement> を使用するためです。