Maven Wrapper是一個maven插件,用於封裝提供maven項目構建時所需的一切;使用maven wrapper就可以很好的確保所有參與項目者使用相同的maven版本,同時還不會影響其它項目;安裝成功後會在項目中出現mvnw命令,是mvn的替代。
官方網站:https://github.com/takari/maven-wrapper
1.安裝maven wrapper簡單方式是在idea控制檯輸入如下命令
mvn -N io.takari:maven:0.7.7:wrapper -Dmaven=3.6.3
命令執行成功後插件就會在.m2/wrapper目錄下下載指定版本的maven;默認的maven倉庫是:
https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
如果下載緩慢或者下載不下來可以指定本地路徑,找到項目中.mvn/wrapper/maven-wrapper.properties文件,修改distributionUrl屬性爲(mac):
distributionUrl=file:////Users/xxx/Documents/IDE/apache-maven-wrapper/apache-maven-3.6.3-bin.zip
然後再控制檯輸入./mvnw命令,但是報如下錯誤:
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
這是因爲構建的時候沒有指定目標goal,解決方法是在pom文件的build中添加上如下:
<defaultGoal>compile</defaultGoal>
然後再執行mvnw命令就可以成功的執行;
2.將當前項目打包
./mvnw clean install
測試可以成功的將項目打包
GitHub地址:https://github.com/mingyang66/spring-parent/tree/master/doc/maven