簡體   English   中英

我如何使用 Maven 加快構建過程

[英]How I can speed up the build process using Maven

我使用 Maven 作為構建工具。 目前我正在使用此命令進行構建。

右鍵單擊項目> Maven clean

在這之后:

右鍵單擊項目> Maven 安裝

對我來說需要 3 分鍾。 有什么辦法可以加快我的進程嗎?

我已經看過這個 但我不明白這一點。 有誰能幫幫我嗎?

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

如果您在一個項目中使用多個 Maven 模塊,這可能對您有用:我主要通過控制台使用 Maven,所以我在 Eclipse 下沒有這方面的經驗,但從 Maven 3 開始,Maven 支持並行構建。 此功能開箱即用,但其成功在很大程度上取決於您使用的插件,因為 3rd 方插件可能並非設計為以這種方式工作。

要激活並行構建,請使用-T參數啟動 maven:

mvn clean install -T 2

用 2 個線程構建。

mvn clean install -T 2C

每個 CPU 使用 2 個線程構建。

Maven 將確定構建順序並盡可能並行化。

遺憾的是,如果您的項目模塊結構非常線性,即項目 A --> 項目 B --> 項目 C,這對您沒有任何好處。

如果您的項目有測試用例,您可以通過以下命令跳過測試。

mvn clean install -Dmaven.test.skip=true 

盡量避免每次在離線模式下執行 Maven 時都下載,以避免每次構建運行時都下載依賴項。

如果您使用命令行,則可以使用 -o 作為參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM