但行好事
莫论前程❤

Maven常用命令详解

1.1、Maven 参数

  • -D 传入属性参数
  • -P 使用pom中指定的配置
  • -e 显示maven运行出错的信息 
  • -o 离线执行命令,即不去远程仓库更新包 
  • -X 显示maven允许的debug信息 
  • -U 强制去远程参考更新snapshot包 
    例如 mvn install -Dmaven.test.skip=true -Uoracle 
  • -Dmaven.test.skip=true 不执行测试用例,也不编译测试用例类
  • -DskipTests 不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
  • 其他参数可以通过mvn help 获取

1.2、maven常用命令

  1. 说明: 清理项目生产的临时文件,一般是模块下的target目录
mvn clean 
  1. 说明: 编译源代码
mvn compile 
  1. 说明: 编译测试代码
mvn test-compile 
  1. 说明: 项目打包工具,会在模块下的target目录生成jar或war等文件。
mvn package 
  1. 说明: 测试命令,或执行src/test/java/下junit的测试用例
mvn test
  1. 说明: 模块安装命令 将打包的的jar/war文件复制到你的本地仓库中,供其他模块使用 -Dmaven.test.skip=true 跳过测试(同时会跳过test compile)
mvn install 
  1. 说明: 发布命令 将打包的文件发布到远程参考,提供其他人员进行下载依赖 ,一般是发布到公司的私服
mvn deploy 

常用打包命令

mvn -e clean install -Plocal -Dmaven.test.skip=true -X 

-e                       输出运行错误信息
-P                       发布版本为local的程序包
-X                       输出debug信息
-Dmaven.test.skip=true     不执行测试用例,也不编译测试用例类
-DskipTests         不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。

-P 命令详解

./mvnw clean -Prelease install -Dmaven.test.skip=true   发布版本为release的程序包 
./mvnw clean -Plocal   install -Dmaven.test.skip=true   发布版本为local的程序包

注意有一个-P release-P maven 会激活项目下的pom.xml配置的标签下id为release

perftrace的pom.xml 1038
<profiles>
        <!-- for Local (Development) -->
        <profile>
            <id>local</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <env>local</env>
            </properties>
        </profile>
        <!-- for Release -->
        <profile>
            <id>release</id>
            <properties>
                <env>release</env>
            </properties>
        </profile>
    </profiles>
使用占位符上面配置定义的${env}进行资源过滤
web pom.xml的 379
<bulid>     <!--指定资源目录 配置是否启用资源过滤(就是是否启用占位符替换)-->  
        <resources>
            <resource>
                <directory>${basedir}/src/main/java</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>${basedir}/src/main/resources</directory>
            </resource>
            <resource>
                <directory>${basedir}/src/main/resources-${env}</directory>
            </resource>
        </resources>
 </build>  

env不指定默认值为local

总结:

  1. -P 参数 配合资源过滤Filter,最终使用了 src/main/resources-${env}/log4j.xml 文件
  2. 激活profile和spring的profile有点志同道合,maven的这个配置激活还可以用到很多方面,例如开发环境用快照仓库(版本),生产用发布仓库
赞(2) 打赏
未经允许不得转载:刘鹏博客 » Maven常用命令详解
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏