β

Maven命令

vicenteforevervicenteforever 592 阅读

Maven常用命令

执行maven的常用命令都需要从命令行进入到项目的根目录下执行.现列出maven的常用命令如下所示:

mvn clean  清空产生的项目命令

清空项目target目录下classes目录、test-classes目录下的class文件.

mvn eclipse:eclipse

将项目(java项目或者web项目)编程eclipse项目

mvn clean compile

编译项目命令

清空项目target目录下的classes目录下的class文件,并重新编译项目。

mvn clean test

执行测试用例命令

清空项目target目录下的classes目录下的test-classes文件,清空并执行测试用例。

mvn clean package 打包命令

默认将项目打包成jar包,也可以在pom文件中指定打包成其他包。如war包,打包成功后,war包输出到项目的target目录下。

mvn clean install 安装命令

将项目输出的war包或jar包安装到maven的本地仓库中。当执行这个命令后,其他的maven项目才能使用这个war包或jar包(特别是项目之前有依赖的)。

注意:执行mvn clean test命令的时候,会先执行mvn compile命令的,执行mvn clean package命令的时候,会先执行mvn compile和mvn test命令的,执行mvn clean install命令的时候,会先执行mvn clean package命令。

mvn tomcat:run  运行tomcat容器命令

mvnDebug tomcat:run  debug模式下运行tomcat容器命令

================================================

mvn compile  编译主程序源代码,不会编译test目录的源代码。第一次运行时,会下载相关的依赖包,可能会比较费时间。

mvn test-compile  编译测试代码,compile之会后生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下。

mvn test 运行应用程序中的单元测试

mvn site 生成项目相关信息的网站

mvn clean 清除目标目录中的生成结果

mvn package 依据项目生成jar文件,打包之前会进行编译,测试。

mvn install 在本地Repository中安装jar。

mvn eclipse:eclipse

生成Eclipse项目文件及包引用定义,注意,需确保定义classpath variables:M2_REPO,指向本地maven类库目录。

生成项目:

mvn archetype:generate  列出所有可用的模板供选择并创建

mvn archetype:create -DgroupId=com.myproject.app -DartifactId=myproject -DpackageName=com.myproject.mavenbook

用archetype插件快速创建一个组名为com.myproject.app artifactId为myproject 项目包目录结构为com/myproject/mavenbook的java项目

mvn archetype:create -DgroupId=com.myproject.app -DartifactId=myproject -DpackageName=com.myproject.mavenbook -DarchetypeArtifactId=maven-archetype-webapp

用archetype插件快速创建一个组名为com.myproject.app artifactId为myproject 项目包目录结构为com/myproject/mavenbook的web-app项目

进入该目录发现有个pom.xml(以下简称pom)文件,mvn的全部配置(对于此项目)都在这了,通常开发需要集成到Eclipse,生成.project,.classpath

在pom-path下输入:

mvn eclipse:eclipse

Maven dependency 插件:

mvn dependency:analyze  分析项目依赖性

mvn dependency:resolve  已解决依赖的列表

mvn dependency:tree   项目的整个依赖树

可以用来检查一下pom.xml 中下载下来的这些包之间的依赖关系是否正确

mvn install -X 查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件(慎用,输出信息巨大)

Help插件

mvn help:effective-pom

查看项目的有效pom

mvn help:effective-pom > mypom.xml

可以把项目的有效pom放入mypom.xml里面去。以供查看

mvn help:active-profiles

列出活动的profile

mvn help:active-profiles

– 列出当前构建中活动的 Profile(项目的,用户的,全局的)。

mvn help:effective-pom

– 显示当前构建的实际 POM,包含活动的 Profile。

mvn help:effective-settings

– 打印出项目的实际 settings, 包括从全局的 settings 和用户级别 settings继承的配置。

mvn help:describe

– 描述插件的属性。它不需要在项目目录下运行。但是你必须提供你想要描述插件的 groupId 和 artifactId。

describe加上参数就会像下面这样:

mvn help:describe -Dcmd=install

mvn help:describe -Dcmd=help:describe

mvn help:describe -Dplugin=org.apache.maven.plugins:maven-help-plugin

mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-help-plugin

mvn test -Dtest=MyTest  只能src.test.java下的MyTest类进行测试

mvn test -Dtest=MyTest -DfailIfNoTests=false 如果测试类里没有测试方法不报错

mvn package -Dmavne.test.skip=true 打包之前不执行单元测试

作者:vicenteforevervicenteforever
LAMP,电子商务,产品设计,高并发高性能。
原文地址:Maven命令, 感谢原作者分享。

发表评论