常用的maven命令如下

常用的maven命令如下:

Maven命令列表

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 tomcat:run

在tomcat容器中运行web应用

mvn jetty:run

调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用

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

1、mvn package
此命令包含一系列过程:validate-->compile-->test-->package
Maven根据pom文件里packaging的配置,决定是生成jar文件还是war文件,并放到target目录下。
此命令需要在项目的根目录(也就是pom.xml文件所在的目录)下运行,Maven才知道打包哪个项目。
2、mvn clean
每次更新项目的内容,Maven是不会自动编译更新的,所以target目录下的内容是缓存的,每次部署前都需要把最新数据更新到target目录下。
当运行mvn clean后,target下的内容都会被删除,然后生成最新的数据。
如果要把项目部署到生产环境,强烈建议用mvn clean package命令,确保部署的是最新的内容。
3、mvn test
该命令执行后会去运行所有的单元测试,如果想要单独运行某个测试类里的单元测试,可用如下命令:mvn -Dtest=TestApp1 test
4、mvn clean install
该命令会把你的项目打包并放到本地仓库,可以别人就可以引用了。
此命令包含以下过程:validate-->compile-->test-->package-->integration-test-->verify-->install。
5、mvn site
该命令会为你的项目生产一个文档站点,介绍你的项目,存储位置为target/site,该命令可能只有开源项目有用吧,毕竟平常没人会去关注你的项目信息。
6、mvn site:deploy
该命令会把文档站点部署到服务器。

命令参数
上面列举的只是比较通用的命令,其实很多命令都可以携带参数以执行更精准的任务。
Maven命令可携带的参数类型如下:
1.-D 传入属性参数
比如命令:
mvn package -Dmaven.test.skip=true
以“-D”开头,将“maven.test.skip”的值设为“true”,就是告诉maven打包的时候跳过单元测试。同理,“mvn deploy-Dmaven.test.skip=true”代表部署项目并跳过单元测试。

2.-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 -P dev
其中“dev“为环境的变量id,代表使用Id为“dev”的profile。

3.-e 显示maven运行出错的信息
4.-o 离线执行命令,即不去远程仓库更新包
5.-X 显示maven允许的debug详细信息
6.-U 强制去远程更新snapshot的插件或依赖,默认每天只更新一次


参考:http://www.cnblogs.com/adolfmc/archive/2012/07/31/2616908.html   http://www.cnblogs.com/cl1255674805/p/5896253.html

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值