• Maven命令


      作为开发利器的Maven,为我们提供了十分丰富的命令,了解Maven的命令行操作并熟练运用常见的Maven命令还是十分必要的,及时譬如IDEA等工具提供了图形化工具,但其底层还是依靠Maven命令来驱动的。

    Maven命令格式如下:

    mvn [plugin-name]: [goal-name]

    * 执行  plugin-name 插件的 goal-name 目标

    常见命令

    命令 描述
    mvn -version 显示版本信息
    mvn clean 清理项目生产的临时文件,一般是模块下的target目录
    mvn compile 编译源代码,一般编译模块下的src/main/java目录
    mvn package 项目打包工具,会在模块下的target目录生成jar或war文件
    mvn test 测试命令,或执行src/test/java下junit的测试用例
    mvn install 将打包的jar、war文件复制到你的本地仓库,供其他模块使用
    mvn deploy 将打包的文件发布到远程参考,提供其他人员进行下载依赖
    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 -Dmacen.test.skip = true

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

    -P 使用指定的profile配置

      比如项目开发需要多个环境,一般为开发、测试、预发、正式4个环境,在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>

      profiles定义了各个环境变量的id,filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profile中定义的值,resources中是定义哪些目录下的文件会被配置文件中定义的变量替换。

      通过上面maven可以实现不同环境进行打包部署,例如:

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

      表示打包本地环境,并跳过单元测试

  • 相关阅读:
    怪异恼人的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream问题的解决
    Spring3的quartz定时任务
    HTML模板
    SpringMVC 下载XLS文档的设置
    若想在当前路径下去运行非当前路径下的.class文件(即java可执行文件),该如何操作?
    霍金去世 享年76岁
    Github全面学习笔记
    Github上如何在Fork到的开源项目中提交Pull requests?
    Github中如何Fork开源项目?
    Java永久代去哪儿了
  • 原文地址:https://www.cnblogs.com/Gazikel/p/14383231.html
Copyright © 2020-2023  润新知