Mavenサイト(Maven 3)が空のサイトフォルダーを生成します
-
10-10-2019 - |
質問
Mavenサイトプラグインを使用して、基本的なMavenサイトを作成しようとしています。だから私はこれを私のpomに追加しました:
<reporting>
<plugins>
<!--JavaDoc setup-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<defaultAuthor>Leon Blakey</defaultAuthor>
<defaultVersion>${project.version}</defaultVersion>
<links>
<link>http://download.oracle.com/javase/6/docs/api</link>
</links>
</configuration>
</plugin>
</plugins>
</reporting>
そして走った mvn site --errors
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building pircbotx 1.3-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-site-plugin:2.0.1:site (default-site) @ pircbotx ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.688s
[INFO] Finished at: Wed Jan 12 18:08:00 EST 2011
[INFO] Final Memory: 5M/13M
[INFO] ------------------------------------------------------------------------
W:\programming\pircbot-hg>
うーん、出力がないのは奇妙です。したがって、ターゲット/サイトをチェックすると、空が空になります。唯一のフォルダーは、いくつかの一般的な写真で満たされた画像/、css/、およびweb-inf/です。 Javadocもサイトもありません。
これは再現可能です mvn site:site
と mvn org.apache.maven.plugins:maven-site-plugin:2.2:site
(どうやらMavenはデフォルトで2.0.1を使用したいだけです)
奇妙なことは、Maven 2.2.1に戻り、サイトを正常に生成できることです。しかし、3.0.1-RC1を使用すると(たまたまNetBeansが付属しています)、失敗します。
2.2.1ではなく、3.0.1でサイトプラグインを失敗させるのは何が間違っているのですか?
解決
おそらくあなたは使ってみることができます Mavenサイトプラグイン3.x. 。 pom.xmlに次のことを追加することで、それを行うことができます
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0-beta-3</version>
</plugin>
</plugins>
</build>
他のヒント
私は同じ問題を抱えていました。私はAを見つけました ブログ投稿 トピックについて。
ブログの引用(Emphasis Mine):
POM.xmlファイルのレポートセクションを使用してコード品質メトリック、Javadocレポートなどを生成している場合、この機能をMaven 3に移行するための少しの作業がある場合があります。非推奨されています(Maven 3でエラーを引き起こすことはありません、それはただ無視されます)、およびMaven-Site-Plugin自体の構成ブロックにあるレポートプラギンセクションに置き換えられました。
古いものを無視します <reporting>
それが非難されることについての警告がなければ少し失礼なようですが、とにかく...
したがって、基本的に、古いレポートプラグインを新しいMaven-Site-Pluginの構成セクションに移動するだけです。
a Maven-Plugin-Siteのセクション 彼らは彼らを説明します Mavenのコアからすべての報告ロジックを削除しました 「DoxiaからMaven Coreを分離し、任意の報告システムを開発できるようにする」。理にかなっています。
サイトプラグインの使用( http://maven.apache.org/plugins/maven-site-plugin/ )Maven 3を使用すると、ついに解決されたようです。 (非ベタ)バージョンがリリースされ、バージョン2スタイルを使用する機能 <reporting>
POM.xml宣言の構造が追加されました。
(いつものように)Maven 3とサイトプラグインに関する実質的ではあるが組織化されていない重複するドキュメントをナビゲートするのは難しいですが、1ページ - http://maven.apache.org/plugins/maven-site-plugin/maven-3.html - 現在、古いスタイルが新しい「プラグインツーサイトプラグイン」スタイルよりも推奨されていると述べています。
ノート: Maven 3では、新しい形式はレポートプラグインの構成継承をサポートしていません。MSITE-484を参照してください。この形式は、Maven 3からレポートロジックを削除するために技術的に必要でしたが、古い形式と同じくらい柔軟にするために、Maven 3に新しい継承メカニズムを追加する必要があります。したがって、新しい形式は今のところ直接使用する準備ができていません。
例のページ http://maven.apache.org/plugins/maven-site-plugin/examples/configuring-reports.html レポートの構成については、「新しい」フォーマット方法についても言及していません。
これが「ベストプラクティス」形式であるかどうかはわかりませんが、いくつかの追加レポートで私に合ったPOMレポートセクションの例は次のとおりです。必要に応じて、独自のプラグインを選択します。
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0</version>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<!-- Default Site Pages -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.4</version>
</plugin>
<!-- Java Documentation -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8</version>
</plugin>
<!-- Source Code Cross-Reference -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
</plugin>
...
</plugins>
</reporting>
余談ですが、EclipseのM2Eプラグインを使用してPOMSを編集する場合、プラグインのバージョンセクションでコード完了を使用して、現在のバージョンのリストを提供できます。とても便利な。