3

マルチモジュールMavenプロジェクトでJavaDocsの代替出力場所を構成しようとしています。親POMのmaven-javadocを次のように構成しました。

<build>
...
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.9</version>
    <configuration>
        <noqualifier>all</noqualifier>
        <reportOutputDirectory>
            ${project.reporting.outputDirectory}/api
        </reportOutputDirectory>
        <destDir>api</destDir>
    </configuration>
</plugin>
...
</build>

そして、ここでproject.reporting.outputDirectoryを設定します。

<properties>
    <project.reporting.outputDirectory>
        ./module-webapp/src/main/webapp/docs
    </project.reporting.outputDirectory>
</properties>

ただし、Mavenは上記の構成を考慮していないようであり、それにもかかわらず、デフォルトのディレクトリにJavaDocを出力しています。どうしてこれなの?

また、project.reporting.outputDirectory変数に相対パスを使用しました。mvn javadoc:javadocこの相対パスは、サブモジュールで実行した場合と親モジュールで実行した場合と同じ意味になりますか?

よろしくお願いします...大歓迎です!

4

2 に答える 2

4

変数の名前を変更する必要があります。 project.reporting.outputDirectoryは組み込み変数であり、Mavenはその設定をオーバーライドします。

に相対的なディレクトリを設定する必要がある場合があることに注意してくださいproject.reporting.outputDirectory。または、${basedir}これを実際に機能させるためのようなものです。

また、ドキュメントを読んだ結果、最終的なディレクトリはになりますが./module-webapp/src/main/webapp/docs/api/api、これは希望どおりではない可能性があることにも注意してください。

相対ディレクトリとサブモジュールに関する限り、各ビルドは自己完結型である傾向があるため、各サブビルドに関連するjavadocsをデポジットします。

于 2013-01-15T05:54:09.680 に答える
1

何が悪かったのかを見つけました。何らかの理由で、$ {project.reporting.outputDirectory}を削除してパスを直接入力すると、機能します。他の理由で、(上記以外の)他の変数名を使用すると機能します。

于 2013-01-15T05:52:56.127 に答える