2013-02-13 3 views
9

私のMavenのPOMは、報告部にスキップ依存 - Mavenのjavadocは立ち往生が無効なため、リポジトリURLのは

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <version>2.9</version> 
    <configuration> 
     <show>public</show> 
     <failOnError>false</failOnError> 
    </configuration> 
</plugin> 

を使用しています。すべてが正常だと思われますが、ある時点で依存関係レポートを生成しようとしますが、リポジトリのURLにアクセスできないため、依存関係のレポートが永遠に残ってしまいます。このエラーが発生する:

[INFO] Generating "Dependencies" report --- maven-project-info-reports-plugin:2.5.1 
[WARNING] The repository url 'file://${basedir}/stage' is invalid - Repository 'local-mime4j-stage-repository' will be blacklisted. 
[WARNING] The repository url 'http://antlr.org/antlr-snapshot' is invalid - Repository 'antlr-snapshot' will be blacklisted. 

その後、私はビルドしていないので、永遠に待っています。だから私の質問は、この手順を除外し、依存関係のレポートを生成しようとしないようにjavadocに指示することができますか?

+0

あなたは何MVN命令を実行しているの?何が起こっているのかを知るために-Xで実行できますか?そして、ところで、エラーはありません...これは警告のみです;-) – ben75

答えて

5

実際、この問題はmaven-javadoc-pluginに関連していませんでしたが、ログを読むときに問題になりました。サイトのライフサイクルを実行する際のデフォルトの目標でした。すべてのプラグインを削除しても、$ mvnサイトを実行しているときにこの問題が発生します。

これは、サイトの生成が自分のプロジェクトの依存関係に関する情報を取得しようとしたためです。これを避ける最善の方法は、いくつかのプロパティをfalseにすることによって(このリポジトリのURLが有効ではない場所から)この情報の取得を無効にすることができるように思われるかもしれません。

   <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-project-info-reports-plugin</artifactId> 
        <version>2.6</version> 
        <reportSets> 
         <reportSet> 
          <reports> 
           <report>index</report> 
           <report>help</report> 
           <report>project-team</report> 
           <report>modules</report> 
           <report>plugins</report> 
           <report>cim</report> 
           <report>issue-tracking</report> 
           <report>scm</report> 
           <report>license</report> 
           <report>plugin-management</report> 
           <report>distribution-management</report> 
           <report>summary</report> 
           <report>mailing-list</report> 
           <report>issue-tracking</report> 
           <!-- 
           <report>dependencies</report> 
           --> 
          </reports> 
         </reportSet> 
        </reportSets> 
       </plugin> 

つまり、サイトの依存関係に関連するものを作成しないようにサイトプラグインに指示します。サイトのレポートの元のリストから、私が望むものだけが消えてしまったことがわかります。しかし、maven-project-info-reports-pluginを使ってサイト生成を探すと、多くの人がビルドについてこの問題を抱えていました。次の犠牲者にこれが役立つことを願っています。

14

http://www.java-tutorial.ch/maven/maven-site-build-slow-due-to-dependency-report-pluginには、コマンドラインまたはPOMファイルから依存関係の位置チェックを無効にする方法の説明があります。

要約すると:

  1. コマンドライン:

    mvn -Ddependency.locations.enabled=false site 
    
  2. はPOM:

    <plugin> 
        <artifactId>maven-project-info-reports-plugin</artifactId> 
        <configuration> 
        <dependencyLocationsEnabled>false</dependencyLocationsEnabled> 
        </configuration> 
    </plugin> 
    
+0

'project.reporting.plugins'サブセクションで' maven-project-info-reports-plugin'を指定しない限り、これは機能しません。 'project.build.plugins'サブセクションではなく、あなたの' pom.xml'ファイルです。 –

関連する問題