maven将本地jar包引入本地maven仓库命令、maven生命周期、-D -P、-maven.test.skip和skipTests的区别
一、maven安装命令。cmd窗口,idea中均可
mvn install:install-file -Dfile=F:\coding2pay\pay\lib/wxpay-sdk-3.0.9.jar -DgroupId=com.github.tedzhdz -DartifactId=wxpay-sdk -Dversion=3.1.9 -Dpackaging=jar
可使用相对目录,如在项目lib下,-Dfile=jar包名称,将命令录为windows的.bat命令文件,VCS team work。
二、打包命令
clean package -Dmaven.test.skip=true
参考链接:https://blog.csdn.net/Zheng_xiao_xin/article/details/80732865
idea内跳过测试打包还可以:
三、安装
clean install -Dpolaris=true -Dmaven.test.skip=true
清理 -- 编译 -- 跳过测试 -- 打包 -- 安装
四、-D -P
pom文件中添加配置
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <!-- ${env} 对应的资源目录 --> <directory>src/main/resources/${env}</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <profiles> <profile> <id>dev</id> <properties> <env>dev</env> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>test</id> <properties> <env>test</env> </properties> </profile> <profile> <id>prod</id> <properties> <env>prod</env> </properties> </profile> </profiles>
-P代表(Profiles配置文件)
在<profiles>指定的<id>中,可以通过-P进行传递或者赋值。
如打包时执行mvn clean package -P test将触发test环境的profile配置
-D代表(Properties属性)
如果propertyName不存在pom.xml,它将被设置。
如果propertyName已经存在pom.xml,其值将被作为参数传递的值覆盖-D
五、maven跳过单元测试-maven.test.skip和skipTests的区别
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类
十、maven生命周期
转自 https://www.cnblogs.com/EasonJim/p/6816340.html
有三个内置的生命周期:默认(default),清洁(clean)和站点(site)。在默认(default)的生命周期处理你的项目部署,将清洁(clean)的生命周期处理项目的清理,而网站(site)的生命周期处理你的项目站点文档的创建。
构建生命周期是由阶段组成的:
默认(default)的生命周期包括以下阶段:
- 验证(validate) - 验证项目是否正确,所有必要的信息可用
- 编译(compile) - 编译项目的源代码
- 测试(test) - 使用合适的单元测试框架测试编译的源代码。这些测试不应该要求代码被打包或部署
- 打包(package) - 采用编译的代码,并以其可分配格式(如JAR)进行打包。
- 验证(verify) - 对集成测试的结果执行任何检查,以确保满足质量标准
- 安装(install) - 将软件包安装到本地存储库中,用作本地其他项目的依赖项
- 部署(deploy) - 在构建环境中完成,将最终的包复制到远程存储库以与其他开发人员和项目共享。
这些生命周期阶段(以及此处未显示的其他生命周期阶段)依次执行,以完成默认生命周期。给定上述生命周期阶段,这意味着当使用默认生命周期时,Maven将首先验证项目,然后尝试编译源代码,运行这些源代码,打包二进制文件(例如jar),运行集成测试软件包,验证集成测试,将验证的软件包安装到本地存储库,然后将安装的软件包部署到远程存储库。
换句话说,在生命周期里面阶段是连续的,在不出错的前提下,比如执行打包(package)时就一定是执行了测试(test)之后再执行