zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    【Access2007】将Excel表导入到Access2007在现有的表成
    IntentFilter
    C++ map
    C++ template
    c++ namespace
    JVM学习笔记
    hibernate配置文件hibernate.cfg.xml的详细解释
    以&运行在后台的程序,关闭terminal后,相应进进程自动关闭
    开市前挂单
    Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里
  • 原文地址:https://www.cnblogs.com/Gazikel/p/14383231.html
Copyright © 2011-2022 走看看