我如何使用Maven加速构建过程

时间:2013-06-11 05:41:56

标签: java eclipse maven

我使用Maven作为构建工具。目前我正在使用此命令构建。

右键点击项目> Maven clean

之后:

右键点击项目> Maven安装

我需要3分钟。有没有办法加快我的流程?

我已经查看了this。但我不明白这一点。任何人都能帮我吗?

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.test.test:TEST:war:1.0.0-SNAPSHOT
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.metaparadigm:json-rpc:jar -> duplicate declaration of version 1.0 @ line 323, column 15
[WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:tomcat-maven-plugin is missing. @ line 39, column 12
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 25, column 12
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-war-plugin is missing. @ line 18, column 11
[WARNING] 'dependencies.dependency.exclusions.exclusion.groupId' for log4j:log4j:jar is missing. @ line 356, column 18
[WARNING] 'dependencies.dependency.exclusions.exclusion.artifactId' for log4j:log4j:jar is missing. @ line 356, column 18
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Test Web 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] Could not transfer metadata com.Test.Test:Test:1.0.0-SNAPSHOT/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
[WARNING] Failure to transfer com.Test.Test:Test:1.0.0-SNAPSHOT/maven-metadata.xml from scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/ was cached in the local repository, resolution will not be reattempted until the update interval of wso2-maven2-repository has elapsed or updates are forced. Original error: Could not transfer metadata com.Test.Test:Test:1.0.0-SNAPSHOT/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
Downloading: http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/commons-collections/commons-collections/maven-metadata.xml
[WARNING] Could not transfer metadata commons-collections:commons-collections/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
[WARNING] Could not transfer metadata commons-collections:commons-collections/maven-metadata.xml from/to jasperreports (http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal): connection timed out to http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/commons-collections/commons-collections/maven-metadata.xml
[WARNING] The metadata C:\Documents and Settings\ITGRIDS\.m2\repository\commons-collections\commons-collections\maven-metadata-jaspersoft.xml is invalid: entity reference name can not contain character =' (position: START_TAG seen ...www.sermonillustrationlibrary.org/blocked/nospiders?mod=8819&qlvc=... @467:198) 
Downloading: http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/commons-digester/commons-digester/maven-metadata.xml
[WARNING] Could not transfer metadata commons-digester:commons-digester/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
[WARNING] Could not transfer metadata commons-digester:commons-digester/maven-metadata.xml from/to jasperreports (http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal): connection timed out to http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/commons-digester/commons-digester/maven-metadata.xml
[WARNING] The metadata C:\Documents and Settings\ITGRIDS\.m2\repository\commons-digester\commons-digester\maven-metadata-jaspersoft.xml is invalid: entity reference name can not contain character =' (position: START_TAG seen ...www.sermonillustrationlibrary.org/blocked/nospiders?mod=8819&qlvc=... @425:221) 
Downloading: http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/commons-logging/commons-logging/maven-metadata.xml
[WARNING] Could not transfer metadata commons-logging:commons-logging/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
[WARNING] Could not transfer metadata commons-logging:commons-logging/maven-metadata.xml from/to jasperreports (http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal): connection timed out to http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/commons-logging/commons-logging/maven-metadata.xml
[WARNING] The metadata C:\Documents and Settings\ITGRIDS\.m2\repository\commons-logging\commons-logging\maven-metadata-jaspersoft.xml is invalid: entity reference name can not contain character =' (position: START_TAG seen ...www.sermonillustrationlibrary.org/blocked/nospiders?mod=8819&qlvc=... @446:198) 
Downloading: http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/com/lowagie/itext/maven-metadata.xml
[WARNING] Could not transfer metadata com.lowagie:itext/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
[WARNING] Could not transfer metadata com.lowagie:itext/maven-metadata.xml from/to jasperreports (http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal): connection timed out to http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/com/lowagie/itext/maven-metadata.xml
[WARNING] The metadata C:\Documents and Settings\ITGRIDS\.m2\repository\com\lowagie\itext\maven-metadata-jaspersoft.xml is invalid: entity reference name can not contain character =' (position: START_TAG seen ...www.sermonillustrationlibrary.org/blocked/nospiders?mod=8819&qlvc=... @425:221) 
Downloading: http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/jfree/jcommon/maven-metadata.xml
[WARNING] Could not transfer metadata jfree:jcommon/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
[WARNING] Could not transfer metadata jfree:jcommon/maven-metadata.xml from/to jasperreports (http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal): connection timed out to http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/jfree/jcommon/maven-metadata.xml
[WARNING] The metadata C:\Documents and Settings\ITGRIDS\.m2\repository\jfree\jcommon\maven-metadata-jaspersoft.xml is invalid: entity reference name can not contain character =' (position: START_TAG seen ...www.sermonillustrationlibrary.org/blocked/nospiders?mod=8819&qlvc=... @443:198) 
Downloading: http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/jfree/jfreechart/maven-metadata.xml
[WARNING] Could not transfer metadata jfree:jfreechart/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
[WARNING] Could not transfer metadata jfree:jfreechart/maven-metadata.xml from/to jasperreports (http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal): connection timed out to http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/jfree/jfreechart/maven-metadata.xml
Downloading: http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/eclipse/jdtcore/maven-metadata.xml
[WARNING] Could not transfer metadata eclipse:jdtcore/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
[WARNING] Could not transfer metadata eclipse:jdtcore/maven-metadata.xml from/to jasperreports (http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal): connection timed out to http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/eclipse/jdtcore/maven-metadata.xml
[WARNING] The metadata C:\Documents and Settings\ITGRIDS\.m2\repository\eclipse\jdtcore\maven-metadata-jaspersoft.xml is invalid: entity reference name can not contain character =' (position: START_TAG seen ...www.sermonillustrationlibrary.org/blocked/nospiders?mod=8819&qlvc=... @435:198) 
Downloading: http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/javax/servlet/servlet-api/maven-metadata.xml
[WARNING] Could not transfer metadata javax.servlet:servlet-api/maven-metadata.xml from/to wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/): No connector available to access repository wso2-maven2-repository (scp://dist.wso2.org/home/httpd/dist.wso2.org/maven2/) of type default using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
[WARNING] Could not transfer metadata javax.servlet:servlet-api/maven-metadata.xml from/to jasperreports (http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal): connection timed out to http://escidoc1.escidoc.mpg.de:8888/archiva/repository/internal/javax/servlet/servlet-api/maven-metadata.xml
[WARNING] The artifact jstl:jstl:jar:1.1.2 has been relocated to javax.servlet:jstl:jar:1.1.2
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ Test ---
[debug] execute contextualize
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 23 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ Test ---
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling 384 source files to D:\TEST\target\classes
[INFO] 
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ Test ---
[debug] execute contextualize
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ Test ---
[INFO] Nothing to compile - all classes are up to date

3 个答案:

答案 0 :(得分:21)

如果你在一个项目中使用多个maven模块,这可能对你有用:我主要通过控制台使用Maven,所以我在eclipse下没有这方面的经验,但是从Maven 3开始,Maven支持并行构建。这个功能开箱即用,但它的成功在很大程度上取决于您使用的插件,因为第三方插件可能无法以这种方式工作。

要激活并行构建,请使用-T参数启动maven:

mvn clean install -T 2

使用2个线程构建。

mvn clean install -T 2C

每个CPU使用2个线程构建。

Maven将确定构建顺序并尽可能并行化。

可悲的是,如果您的项目模块结构非常线性,即项目A - >项目B - >项目C,这对你没有任何好处。

答案 1 :(得分:1)

如果您的项目有测试用例,您可以通过以下命令跳过测试。

mvn clean install -Dmaven.test.skip=true 

答案 2 :(得分:0)

尽量避免每次都下载 在脱机模式下执行Maven,以避免每次运行构建时都下载依赖项。

如果使用命令行,可以使用-o作为参数。