開発者ドキュメント

Mavenサイトビルドが非常に遅い – 依存関係レポート

Mavenサイトを作成しますが、ビルドは依存関係レポートを生成するのが非常に遅いです。

C:\mkyong__projects\>mvn site[INFO]Scanning for projects...[INFO][INFO]--------------------------------------[INFO]Building Maven Webapp 1.0-SNAPSHOT[INFO]--------------------------------------[INFO]//...[INFO]Generating "Project License" report[INFO]Generating "Project Team" report [INFO]Generating "Project Summary" report[INFO]Generating "Dependencies" report//...... Hanging here...

1.トレース

Mavenは `-X`オプションを付けてデバッグします。依存関係レポートを生成すると、他のウェブサイトへのオープンな接続が維持されます。

C:\mkyong__projects\>mvn -X site//...
http://google-gson.googlecode.com/svn/mavenrepo - Session: Opened
http://google-gson.googlecode.com/svn/mavenrepo - Session: Disconnecting
http://google-gson.googlecode.com/svn/mavenrepo - Session: Disconnected
http://files.couchbase.com/maven2/- Session: Opened
http://files.couchbase.com/maven2/- Session: Disconnecting
http://files.couchbase.com/maven2/- Session: Disconnected
http://repo.maven.apache.org/maven2 - Session: Opened
http://repo.maven.apache.org/maven2 - Session: Disconnecting
http://repo.maven.apache.org/maven2 - Session: Disconnected
http://repository.jboss.org/nexus/content/groups/public/- Session: Opened
http://repository.jboss.org/nexus/content/groups/public/- Session: Disconnecting
http://repository.jboss.org/nexus/content/groups/public/- Session: Disconnected
//... Long list, seem like never end

2.解決策

上記のプロジェクトではサードパーティライブラリ(Javaプロジェクトではありません)が多すぎます。それを解決するには、依存関係レポートの生成をスキップします。

C:\mkyong__projects\>mvn -o site//...[INFO]Scanning for projects...[INFO][INFO]--------------------------------------[INFO]Building Maven Webapp 1.0-SNAPSHOT[INFO]--------------------------------------[INFO]//...[INFO]Generating "Project License" report[INFO]Generating "Project Team" report [INFO]Generating "Project Summary" report[INFO]Generating "Dependencies" report[WARNING]The parameter 'dependencyLocationsEnabled' is ignored in offline mode.[INFO]------------------------------------------------------------------------[INFO]BUILD SUCCESS[INFO]------------------------------------------------------------------------[INFO]Total time: 5.428s[INFO]Finished at: Thu Jan 09 22:21:53 SGT 2014[INFO]Final Memory: 52M/706M
  • 解決策2 ** レポートセクションで “maven-project-info-reports-plugin”を宣言し、 `dependencyLocationsEnabled`をfalseに設定します。 Mavenサイトを作成すると、依存関係レポートの生成はスキップされます。

pom.xml

  <reporting>
    <plugins>

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.7</version>

        <configuration>
          <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
        </configuration>
    </plugin>

    </plugins>
  </reporting>

参考文献

Maven 2、どちらの依存関係が過渡的な依存関係になるかをどのように知るのですか?]

モバイルバージョンを終了