创建一个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项目没有?),解决了太多的依赖关系,导致构建缓慢。 要解决此问题,请跳过依赖性报告的生成。
解决方案1
使用选项-o
脱机构建它,依赖项报告将被忽略。
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>
参考文献
翻译自: https://mkyong.com/maven/maven-site-build-is-very-slow-dependency-report/