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属性)

mvn -DpropertyName=propertyValue clean package

如果propertyName不存在pom.xml,它将被设置。
如果propertyName已经存在pom.xml,其值将被作为参数传递的值覆盖-D

maven多profile 打包下 -P参和-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)之后再执行

 

posted @ 2019-10-31 10:01  毁乐乖狂,自有诪张  阅读(958)  评论(0编辑  收藏  举报