非JAVA开发者 - JAVA

mvnw - 保证Java编译的一致性

2019-06-19  本文已影响0人  十毛tenmao

使用Spring Boot Initializer时会自动生成mvnw相关的文件和目录,一开始觉得没什么用,都删除了。但是实际上mvnw是为了保证项目在不同机器的编译一致性。主要就是maven版本的一致性

使用方式

只要把mvn修改为mvnw就可以了,比如

mvn clean package
# 修改成
./mvnw clean package

maven版本号

mvnw使用的maven就是.mvn/wrapper/maven-wrapper.jar中的类org.apache.maven.wrapper.MavenWrapperMain
其版本号可以在文件.mvn/wrapper/maven-wrapper.properties中查看

distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
./mvnw io.takari:maven:wrapper -Dmaven=3.3.9 

手动添加mvnw

在一些老的项目上,如果也想使用mvnw,也可以手动添加

mvn -N io.takari:maven:wrapper

执行后会生成mvnw, mvnw.cmd和.mvn/wrapper目录下的3个文件maven-wrapper.jar, maven-wrapper.properties, MavenWrapperDownloader.java
其中mvnw真正调用的maven就在maven-wrapper.jar中的org.apache.maven.wrapper.MavenWrapperMain

参考

上一篇 下一篇

猜你喜欢

热点阅读