Maven 笔记 0x07:maven 命令

12 篇文章 0 订阅
12 篇文章 0 订阅

参考:https://www.bilibili.com/video/BV1Fz4y167p5


虽然说 IDEA 等工具给我们提供了图形化界面,但其底层还是依靠 maven 命令来驱动,因此,了解 maven 的命令操作并熟练运用常见的 maven 命令很有必要。

maven 命令格式:

mvn [plugin-name]:[goal-name]       // 执行 plugin-name 插件的 goal-name 目标。

mvn 插件名:命令名

常用命令

命令描述
mvn -version显示版本信息
mvn clean清理项目生产的临时文件,一般是模块下的 target 目录
mvn compile编译源代码,一般编译模块下的 src/main/java 目录
mvn package项目打包工具,会在模块下的 target 目录生成 jarwar 等文件
mvn test测试命令,或执行 src/test/java/ 下的 junit 的测试用例
mvn install将打包的 jar/war 文件复制到你的本地仓库中,供其他模块使用
mvn verify运行任何检查,验证包是否有效且达到质量标准
mvn deploy将打包的文件发布到远程仓库(指的是可以在settings.xml中指定的私人/组织内部的远程仓库,非国外的那个中央仓库),提供他人进行下载依赖。
mvn site生成项目相关信息的网站
mvn eclipse:eclipse将项目转化为 Eclipse 项目
mvn dependency:tree打印出项目的整个依赖树
mvn archetype:generate创建 Maven 的普通 java 项目
mvn tomcat7:run在 tomcat 容器中运行 web 应用
mvn jetty:run调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用

注意:运行 maven 命令的时候,首先需要定位到 maven 项目的目录,也就是项目的 pom.xml 所在的目录。否则,需要用参数来指定项目的目录。

命令参数

很多命令可以携带参数,以执行更精准的任务。

-D 传入属性参数

mvn package -Dmaven.test.skip=true

-D 开头,将 maven.test.skip 的值设为 true,就是告诉 maven 打包的时候跳过单元测试。同理, mvn deploy -Dmaven.test.skip=true 代表部署项目并跳过单元测试。

-P 使用指定的 Profile 配置

比如项目开发需要多个环境,一般为:开发、测试、预发、正式4个环境。

各个环境对应的数据库是不同的,其他配置文件也可能是不同的。

可以通过 <profile> 去配置不同的环境。<profiles> 定义了各个环境的变量 id

filters 中定义了各个环境配置文件的地址(config/${env}.properties),其中地址中的环境变量(${env})就是上面 profile 中定义的值(<env>), resources 中是定义哪些目录下的文件会被配置文件中定义的变量替换。

通过 -P 去指定使用不同的环境。
如按不同环境进行打包部署(测试环境就会去找测试环境的数据库及配置文件):

mvn package -Pdev -Dmaven.test.skip=true

表示打包本地(开发)环境,并跳过单元测试。

  • dev为本地开发环境的id
  • -Pdev 就会去找与 iddev<profile> 相关的配置信息。

pom.xml 中配置如下:

<profiles>

    <profile>
        <id>dev</id>            // 本地开发环境
        <properties>
            <env>dev</env>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    
    <profile>
        <id>qa</id>             // 测试环境
        <properties>
            <env>qa</env>
        </properties>
    </profile>
    
    <profile>
        <id>pre</id>            // 预发环境
        <properties>
            <env>pre</env>
        </properties>
    </profile>
    
    <profile>
        <id>prod</id>           // 正式环境
        <properties>
            <env>prod</env>
        </properties>
    </profile>
    
</profiles>

......

<build>

    <filters>
        <filter>config/${env}.properties</filter>
    </filters>
    
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    
     ......
     
</build>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值