11

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>

うーん、出力がないのは奇妙です。そのため、ターゲット/サイトを確認すると、空です。唯一のフォルダーは images/ 、 css/ 、および WEB-INF/ で、いくつかの一般的な画像で満たされています。javadoc もサイトもありません。

これはmvn site:siteandで再現可能ですmvn org.apache.maven.plugins:maven-site-plugin:2.2:site(どうやらmavenはデフォルトで2.0.1のみを使用したいと考えています)

奇妙なのは、maven 2.2.1 に戻ってサイトを正常に生成できることです。しかし、3.0.1-RC1 (たまたま Netbeans に付属) を使用すると失敗します。

サイト プラグインが 3.0.1 では失敗するが 2.2.1 では失敗する原因は何ですか?

4

3 に答える 3

12

Maven Site Plugin 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>
于 2011-01-13T08:46:37.083 に答える
8

私は同じ問題を抱えていました。このトピックに関する ブログ記事を見つけました。

ブログの引用(強調は私のもの):

pom.xml ファイルのレポート セクションを使用してコード品質メトリクスや javadoc レポートなどを生成していた場合、この機能を Maven 3 に移行するには少し作業が必要になる場合があります。非推奨になり ( Maven 3 ではエラーは発生しません。単に無視されます)、maven-site-plugin 自体の構成ブロックの reportPlugins セクションに置き換えられました。

<reporting>非推奨であることを警告せずに古いものを無視するのは少し失礼に思えますが、とにかく...

したがって、基本的には、古いレポート プラグインを新しい maven-site-plugin の構成セクションに移動するだけです。

maven-plugin-siteのセクションでは、 「Doxia から Maven コアを分離し、任意のレポート システムを開発できるようにする」ために、Mavenのコアからすべてのレポート ロジックを削除したと説明しています。理にかなっています。

于 2011-08-19T22:23:21.620 に答える
7

Maven 3での Site Plugin ( http://maven.apache.org/plugins/maven-site-plugin/ ) の使用は、最終的に解決されたようです。(非ベータ) バージョンがリリースされ<reporting>、 pom.xml 宣言でバージョン 2 スタイル構造を使用する機能が追加されました。

(いつものように) 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 プラグインを使用して POM を編集する場合、プラグインのバージョン セクションでコード補完を使用して、現在のバージョンのリストを表示できます。とても便利な。

于 2012-01-22T21:48:35.557 に答える