一: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 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,就是告诉打包的时候跳过单元测试,同理,mvn deploy -Damven.test.skip=true代表部署项目并跳过单元测试。
-P使用指定的Profile配置
比如项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,在pom.xml的配置如下
<profiles> <profile> <id>dev</id> <properties> <env>dev</env> </properties> <activation> <activeByDefault>true......</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 表示打包本地环境,并跳过单元测试