Maven 常见命令简介
mvn常用命令

mvn常⽤命令Maven常⽤命令:1. 创建Maven的普通java项⽬:mvn archetype:create-DgroupId=packageName-DartifactId=projectName2. 创建Maven的Web项⽬:mvn archetype:create-DgroupId=packageName-DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp3. 编译源代码: mvn compile4. 编译测试代码:mvn test-compile5. 运⾏测试:mvn test6. 产⽣site:mvn site7. 打包:mvn package8. 在本地Repository中安装jar:mvn install9. 清除产⽣的项⽬:mvn clean10. ⽣成eclipse项⽬:mvn eclipse:eclipse11. ⽣成idea项⽬:mvn idea:idea12. 组合使⽤goal命令,如只打包不测试:mvn -Dtest package13. 编译测试的内容:mvn test-compile14. 只打jar包: mvn jar:jar15. 只测试⽽不编译,也不测试编译:mvn test -skipping compile -skipping test-compile( -skipping 的灵活运⽤,当然也可以⽤于其他组合命令)16. 清除eclipse的⼀些系统设置:mvn eclipse:cleanps:⼀般使⽤情况是这样,⾸先通过cvs或svn下载代码到本机,然后执⾏mvn eclipse:eclipse⽣成ecllipse项⽬⽂件,然后导⼊到eclipse就⾏了;修改代码后执⾏mvn compile或mvn test检验,也可以下载eclipse的maven插件。
mvn -version/-v 显⽰版本信息mvn archetype:generate 创建mvn项⽬mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app 创建mvn项⽬mvn package ⽣成target⽬录,编译、测试代码,⽣成测试报告,⽣成jar/war⽂件mvn jetty:run 运⾏项⽬于jetty上,mvn compile 编译mvn test 编译并测试mvn clean 清空⽣成的⽂件mvn site ⽣成项⽬相关信息的⽹站mvn -Dwtpversion=1.0 eclipse:eclipse ⽣成Wtp插件的Web项⽬mvn -Dwtpversion=1.0 eclipse:clean 清除Eclipse项⽬的配置信息(Web项⽬)mvn eclipse:eclipse 将项⽬转化为Eclipse项⽬在应⽤程序⽤使⽤多个存储库<repositories><repository><id>Ibiblio</id><name>Ibiblio</name><url>/maven/</url></repository><repository><id>PlanetMirror</id><name>Planet Mirror</name><url>/pub/maven/</url></repository></repositories>mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/发布第三⽅Jar到本地库中:mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar-DdownloadSources=true-DdownloadJavadocs=truemvn -e 显⽰详细错误信息.mvn validate 验证⼯程是否正确,所有需要的资源是否可⽤。
maven常用命令

1.m aven的常用指令声明:本文档的所有内容基于maven3版本1.创建maven工程(Java工程或者Web工程)mvn archetype:generate-DgroupId=com.taobao-DartifactId=helloworld-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=false参数:mvn archetype:generate 生成maven工程的固定格式DgroupId:组织名称(包名),项目创建组织的标识符,一般是域名的倒写DartifactId:项目名称,定义了项目所属组织的标识符下的唯一标识,一个组织下可以有多个项目DarchetypeArtifactId:指定ArchetypeId,maven-archetype-quickstart 表示创建一个Java Project;maven-archetype-webapp 表示创建一个Web ProjectDinteractiveMode:是否使用交互模式(默认false,可省略)声明:所有的mvn指令都是在包含pom.xml的这一级目录执行的(除了创建maven 工程的指令)2.清理mvn clean3.编译源代码mvn compile4.运行测试mvn test5.打包(java工程打成jar包,web工程打包成war包)mvn package6.安装:(将jar或war包安装到本地仓库)mvn install7.生成eclipse项目:(maven项目只有转成eclipse状态才可以被eclipse导入)mvn eclipse:eclipse8.编译测试代码mvn test-compile9.生产站点目录并打包mvn site-deploy10.清理并打包mvn clean package11.打成jar包mvn jar:jar12.查看帮助信息mvn help:help注:普通maven项目和eclipse的maven项目目录差别,只有eclipse的项目才可以被eclipse导入。
Maven常用命令及其作用、常见问题、常用命令使用场景举例

Maven常⽤命令及其作⽤、常见问题、常⽤命令使⽤场景举例⼀、Maven常⽤命令及其作⽤1、 maven clean:对项⽬进⾏清理,删除target⽬录下编译的内容2、 maven compile:编译项⽬源代码3、 maven test:对项⽬进⾏运⾏测试4、 maven packet:打包⽂件并存放到项⽬的target⽬录下,打包好的⽂件通常都是编译后的class⽂件5、 maven install:在本地仓库⽣成仓库的安装包,可供其他项⽬引⽤,同时打包后的⽂件放到项⽬的target⽬录下⼆、常⽤命令使⽤场景举例1、mvn clean package依次执⾏了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段package命令完成了项⽬编译、单元测试、打包功能,但没有把打好的可执⾏jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库2、mvn clean install依次执⾏了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段install命令完成了项⽬编译、单元测试、打包功能,同时把打好的可执⾏jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库3、mvn clean deploy依次执⾏了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段deploy命令完成了项⽬编译、单元测试、打包功能,同时把打好的可执⾏jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库三、常见问题(⼀)mvn clean install 和 mvn install 的区别1、根据maven在执⾏⼀个⽣命周期命令时,理论上讲,不做mvn install 得到的jar包应该是最新的,除⾮使⽤其他⽅式修改jar包的内容,但没有修改源代码2、平时可以使⽤mvn install ,不使⽤clean会节省时间,但是最保险的⽅式还是mvn clean install,这样可以⽣成最新的jar包或者其他包(⼆)maven两种跳过单元测试⽅法的区别1、 mvn package -Dmaven.test.skip=true不但跳过了单元测试的运⾏,同时也跳过了测试代码的编译2、 mvn package -DskipTests跳过单元测试,但是会继续编译。
maven常用命令

maven常用命令生命周期阶段以及对应的目标/anonymas/blog/item/08384d44975c91036a63e527.htmlmaven标准目录结构/anonymas/blog/item/a1e849f6c85aff64dcc474eb.htmlProfile定义/系统与环境变量列表/anonymas/blog/item/da847e109a1e805bf919b861.htmlPOM参考以及POM最佳实践/anonymas/blog/item/c4b604aba1eae3f61f17a2a8.html用来查找某个制品的maven路径/maven官方plugin列表/plugins/index.htmlmojo项目的plugin的列表/plugins.htmlMaven手册的地址/books/maven-book/reference_zh/public-book.html/books/maven-book/reference/官方POM文件完整参考/ref/2.2.1/maven-model/maven.html官方settings文件完整参考/settings.html官方依赖机制介绍/guides/introduction/introduction-to-dependency-mechanism. htmlmvn archetype:generate列出所有可用的模板供选择并创建mvn dependency:analyze使用Maven Dependency插件进行优化mvn dependency:resolve已解决依赖的列表mvn dependency:tree项目的整个依赖树mvn install -X查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件(慎用,输出信息巨大)mvn scm:checkin -Dmessage="Message"mvn scm:checkoutmvn scm:updatemvn help:effective-pom查看项目的有效POMmvn help:active-profiles 列出活动的Profilemvn eclipse:eclipse 生成eclipse项目mvn eclipse:cleanmvn test -Dtest=MyTest 只对src.test.java下的MyTest类进行测试mvn test -Dtest=MyTest -DfailIfNoTests=false如果测试类里没有测试方法不报错mvn package -Dmaven.test.skip=true 打包之前不执行单元测试mvn jetty:run jetty插件运行web程序exec插件可以用来运行程序surefire插件可以用来测试程序mvn archetype:create-DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId =maven-archetype-webmvn clean install -Pproduction -Xmvn install -Dmaven.test.skip=true<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skip>true</skip></configuration></plugin>mvn assembly:assembly<plugin><artifactId>maven-assembly-plugin</artifactId><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration></plugin>mvn install:install-file-Dfile=<path-to-file>-DgroupId=<group-id>-DartifactId=<artifact-id>-Dversion=<version>-Dpackaging=<packaging>-DgeneratePom=true-DcreateChecksum=true-DpomFile=path-to-pom-DlocalRepositoryPath=path-to-specific-local-repo -DlocalRepositoryId=id-for-specific-local-repomvn deploy:deploy-file-Durl=file-DrepositoryId=some.id-Dfile=path-to-your-artifact-jar-DgroupId=your.groupId-DartifactId=your-artifactId-Dversion=version-Dpackaging=jar-DgeneratePom=false-DpomFile=path-to-your-pom.xml-Dclassifier=bin-DuniqueVersion=falsemvn archetype:generate-DarchetypeGroupId=org.simple-DarchetypeArtifactId= simple-DarchetypeVersion=1.0-SNAPSHOTmvn jar:jarEJB3指定打包类型,否则该插件默认认为EJB为2.1,并寻找某些EJB配置文件是否存在。
maven基本命令

maven基本命令Maven基本命令Maven是一款流行的构建工具,用于管理Java项目的构建、依赖和文档等。
通过使用Maven,开发人员可以简化项目的构建过程,并使项目更易于维护。
本文将介绍Maven的基本命令,帮助读者快速上手使用Maven。
1. mvn clean该命令用于清理项目目录下的生成文件,包括编译生成的class文件、打包生成的jar文件等。
执行此命令后,可以确保项目从头开始构建,避免旧的构建文件对新的构建结果产生影响。
2. mvn compile该命令用于将项目源代码编译成可执行的字节码文件。
执行此命令前,需要确保项目的pom.xml文件已正确配置,并且项目的依赖已经下载到本地仓库。
3. mvn test该命令用于运行项目的单元测试。
在执行此命令前,需要确保项目的测试代码已经编写完毕,并且测试依赖已经配置。
4. mvn package该命令用于打包项目。
执行此命令后,Maven会根据项目的配置将源代码、资源文件等打包成一个可部署的文件,如jar、war等。
5. mvn install该命令用于将项目的打包文件安装到本地仓库。
执行此命令后,可以将项目的构建结果供其他项目引用。
6. mvn deploy该命令用于将项目的打包文件发布到远程仓库。
执行此命令前,需要在pom.xml文件中配置远程仓库的地址和凭证信息。
7. mvn clean install该命令是mvn clean和mvn install两个命令的组合。
执行此命令可以在构建项目之前先清理项目,然后再进行安装。
8. mvn clean test该命令是mvn clean和mvn test两个命令的组合。
执行此命令可以在构建项目之前先清理项目,然后再运行测试。
9. mvn clean package该命令是mvn clean和mvn package两个命令的组合。
执行此命令可以在构建项目之前先清理项目,然后再打包项目。
10. mvn clean compile该命令是mvn clean和mvn compile两个命令的组合。
mvn 常用命令

mvn 常用命令Maven是一个Java项目的构建工具,它可以自动化构建、测试、打包和部署Java 应用程序。
以下是Maven常用命令的详细解释:1. mvn clean:清除项目中的目标目录,删除已编译的类和jar包。
2. mvn compile:编译项目中的源代码,生成编译后的类文件。
3. mvn test:运行项目中的测试用例。
4. mvn package:打包项目,生成jar、war或者zip文件。
5. mvn install:将项目打包并安装到本地Maven仓库中,以便其他项目可以依赖该项目。
6. mvn deploy:将项目打包并部署到远程Maven仓库中,以便其他项目可以依赖该项目。
7. mvn dependency:tree:显示项目的依赖关系树。
8. mvn dependency:analyze:分析项目的依赖关系,检查是否存在冲突或者过期的依赖。
9. mvn help:显示Maven帮助信息。
10. mvn archetype:generate:生成一个新的Maven项目模板。
11. mvn site:生成项目的网站文档。
12. mvn release:发布项目的稳定版本。
13. mvn versions:set:设置项目的版本号。
14. mvn versions:display-dependency-updates:显示项目中依赖的更新版本。
15. mvn versions:use-latest-versions:将项目中的依赖更新到最新版本。
总结:以上是Maven常用命令的详细解释,这些命令可以帮助开发人员更好地管理和构建Java项目。
在实际开发中,根据需要选择合适的命令来完成相应的任务。
mvn 常用命令

mvn 常用命令Maven是一个流行的Java项目管理工具,它可以自动化构建、测试和部署Java应用程序。
在使用Maven时,有一些常用的命令可以帮助我们更好地管理项目。
本文将介绍一些常用的Maven命令。
1. mvn cleanmvn clean命令用于清除项目中生成的所有文件和目录。
这个命令通常在重新构建项目之前使用,以确保项目是从头开始构建的。
执行mvn clean命令后,Maven将删除target目录和其他生成的文件。
2. mvn compilemvn compile命令用于编译项目中的Java源代码。
这个命令将编译src/main/java目录下的所有Java源文件,并将编译后的类文件存储在target/classes目录中。
3. mvn testmvn test命令用于运行项目中的测试。
这个命令将运行src/test/java目录下的所有测试类,并输出测试结果。
如果测试失败,Maven将输出错误信息。
4. mvn packagemvn package命令用于打包项目。
这个命令将生成一个可执行的JAR文件或WAR文件,并将其存储在target目录中。
JAR文件通常用于打包Java应用程序,而WAR文件通常用于打包Web应用程序。
5. mvn installmvn install命令用于将项目安装到本地Maven仓库中。
这个命令将编译项目、运行测试、打包项目,并将其安装到本地Maven仓库中。
这样,其他项目就可以使用该项目作为依赖项。
6. mvn deploymvn deploy命令用于将项目部署到远程Maven仓库中。
这个命令将编译项目、运行测试、打包项目,并将其部署到远程Maven仓库中。
这样,其他开发人员就可以使用该项目作为依赖项。
7. mvn dependency:treemvn dependency:tree命令用于显示项目的依赖关系树。
这个命令将显示项目中所有依赖项的层次结构,以及它们之间的依赖关系。
Maven的常用命令

Maven的常用命令1.mvn compile编译主程序源代码,不会编译test目录的源代码。
第一次运行时,会下载相关的依赖包,可能会比较费时。
2.mvn test-compile编译测试代码,compile之后会生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下。
3.mvn test运行应用程序中的单元测试4.mvn site生成项目相关信息的网站5.mvn clean清除目标目录中的生成结果6.mvn package–将工程制作成相应的包,app工程是作成jar包(app-1.0.jar),webapp工程是作成war包(webapp-1.0.war)。
7.mvn install在本地Repository 中安装jar。
8.mvn eclipse:eclipse生成Eclipse 项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录。
9.mvn clean–消除工程(包括所有子工程)中产生的所有输出。
,10.mvn install创建jar的项目,命令:mvn archetype:create -DgroupId=com.phpxiaoxin-DartifactId=jar-for-web12.使用archetype插件来创建webapp工程,命令如下:D:\maven\demo>mvn archetype:create -DgroupId=ce.demo.mvn -DartifactId=webapp-DarchetypeArtifactId=maven-archetype-webapp用Maven的archetype插件来创建新工程,命令如下:D:\maven\demo>mvn archetype:create -DgroupId=ce.demo.mvn -DartifactId=app1. mvn help:describe你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal 有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的.参数:1. -Dplugin=pluginName2. -Dgoal(或-Dmojo)=goalName:与-Dplugin一起使用,它会列出某个插件的goal信息,如果嫌不够详细,同样可以加-Ddetail.(注:一个插件goal也被认为是一个“Mojo”)下面大家就运行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!2. mvn archetype:generate你是怎么创建你的maven项目的?是不是像这样:mvn archetype:create-DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanot e -Dartifact=common,如果你还再用的话,那你就out了,现代人都用mvn archetype:generate了,它将创建项目这件枯燥的事更加人性化,你再也不需要记那么多的archetypeArtifactId,你只需输入archetype:generate,剩下的就是做”选择题”了.3. mvn tomcat:run用了maven后,你再也不需要用eclipse里的tomcat来运行web项目(实际工作中经常会发现用它会出现不同步更新的情况),只需在对应目录(如/ryanote)里运行mvn tomat:run命令,然后就可在浏览器里运行查看了.如果你想要更多的定制,可以在pom.xml文件里加下面配置当然你也可以在命令里加参数来实现特定的功能,下面几个比较常用:1. 跳过测试:-Dmaven.test.skip(=true)2. 指定端口:-Dmaven.tomcat.port=90903. 忽略测试失败:-Dmaven.test.failure.ignore=true当然,如果你的其它关联项目有过更新的话,一定要在项目根目录下运行mvn clean install来执行更新,再运行mvn tomcat:run使改动生效.4. mvnDebug tomcat:run这条命令主要用来远程测试,它会监听远程测试用的8000端口,在eclipse里打开远程测试后,它就会跑起来了,设断点,调试,一切都是这么简单.上面提到的那几个参数在这里同样适用.5. mvn dependency:sources故名思义,有了它,你就不用到处找源码了,运行一下,你项目里所依赖的jar包的源码就都有了Maven常用基本命令•mvn install –Dmaven.test.skip=true•mvn eclipse:eclipsemvn sofa:gen/sofa:gencore排错常用命令•mvn help:effective-pom•mvn dependency:resovle•mvn dependency:tree。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Maven 命令行选项
说明:
1、使用-选项时,和后面的参数之间可以不要空格。
而使用--选项时,和后面的参数之间必须有空格。
如下面的例子:
$ mvn help:describe -Dcmd=compiler:compile
$ mvn install --define maven.test.skip=true
2、有些命令行选项是从Maven2.1才有的。
定义属性
-D,--define<arg> 定义系统属性
这是最常用到的定制Maven插件行为的选项。
获得帮助
-h,--help 显示帮助信息
如果你要寻找特定插件的可用目标和参数信息,请参考Maven Help 插件。
使用构建剖面(profile)
要从命令行激活一个或多个构建剖面,使用下面的选项:
-P,--activate-profiles<arg> 被激活的,用逗号分隔的剖面列表
显示版本信息
要显示Maven版本信息,在命令行里,使用下面选项中的一个。
-V,--show-version 显示版本信息后继续执行Maven其他目标。
-v,--version 显示版本信息。
这两个选项输出相同的版本信息,但-v选项在打印版本信息后会中断Maven处理。
如果你想让Maven版本信息出现在构建输出的开始处,你应该使用-V选项。
如果你正在持续构建环境里运行Maven,并且你需要知道特定构建使用了哪个Maven版本,-V选项就可以派上用场。
离线模式运行
-o,--offline 离线模式工作
该参数可以阻止通过网络更新插件或依赖。
使用定制的POM或定制的Settings文件
如果你不喜欢pom.xml文件名、用户相关的Maven配置文件的位置或者全局配置文件的位置,你可以通过下面的选项定制这些参数。
-f, --file <file> 强制使用备用的POM文件
-s,--settings <arg> 用户配置文件的备用路径
-gs, --global-settings <file> 全局配置文件的备用路径
加密密码
下面的命令允许你使用Maven加密密码,然后存储到Maven settings文件里:-emp,--encrypt-master-password <password> 加密主安全密码
-ep,--encrypt-password <password> 加密服务器密码
失败处理
下面的选项控制,在多模块项目构建的中间阶段,Maven如何应对构建失败。
-fae, --fail-at-end 仅影响构建结果,允许不受影响的构建继续
-ff, --fail-fast 遇到构建失败就停下来
-fn,--fail-never 无论项目结果如何,构建从不失败
-fn 和 -fae选项对于使用持续集成工具(例如Hunson)的多模块构建非常有用。
-ff 选项对于运行交互构建的开发者非常有用,因为开发者在开发周期中想得到快速的反馈。
控制Maven的日志级别
如果你想控制Maven的日志级别,你可以使用下面三个命令行选项:
-e, --errors 产生执行错误相关消息
-X, --debug 产生执行调试信息
-q, --quiet 仅仅显示错误
只有出现错误或问题,-q 选项才打印一条消息。
-X 选项会打印大量的调试日志消息,这个选项主要被Maven开发者和Maven插件开发者用来诊断在开发过程中碰到的Maven代码问题。
如果你想诊断依赖或路径问题,-X 选项也非常有用。
如果你是Maven开发者,或者你需要诊断Maven插件的一个错误,那么-e选项就会派上用场。
如果你想报告Maven或Maven插件的一个未预料到的问题,你应该传递-X 和 -e命令行选项。
用批处理方式运行Maven
要在批处理模式下运行Maven,使用下面的选项:
-B, --batch-mode 在非交互(批处理)模式下运行
如果你需要在非交互、持续集成环境下运行Manve,必须要使用批处理模式。
在非交互模式下运行,当Mven需要输入时,它不会停下来接受用户的输入,而是使用合理的默认值。
下载和验证依赖
下面的命令行选项会影响Maven和远程仓库的交互以及Maven如何验证下载的构件:
-C, --strict-checksums 如果校验码不匹配的话,构建失败
-c, --lax-checksums 如果校验码不匹配的话,产生告警
-U, --update-snapshots 在远程仓管更新发布版本或快照版本时,强制更新。
如果你关注安全,你就想带 -C选项运行Maven。
Maven仓库为每个存储在仓库里的构件维护一个MD5 和 SHA1 校验码。
如果构件的校验码不匹配下载的构件,Maven默认被配置成告警终端用户。
如果传递-C 选项,当遇到带着错误校验码的构件,会引起Maven构建失败。
如果你想确保Maven检查所有快照依赖的最新版本,-U选项非常有用。
控制插件更新
下面的命令行选项告诉Maven,它将如何从远程仓库更新(或不更新)Maven插件:
-npu,--no-plugin-updates 对任何相关的注册插件,不进行最新检查。
使用该选项使Maven表现出稳定行为,该稳定行为基于本地仓库当前可用的所有插件版本。
-cpu, --check-plugin-updates 对任何相关的注册插件,强制进行最新检查。
强制Maven检查Maven插件的最新发布版本,即使在你的项目POM里明确规定了Maven插件版本,还是会强制更新。
-up, --update-plugins cpu的同义词.
下面的命令行选项影响Maven从远处仓库下载插件的方式:
-npr, --no-plugin-registry 对插件版本不使用
~/.m2/plugin-registry.xml 里的配置。
-npr 命令行选项告诉Maven不要参考插件注册表。
欲了解关于插件注册表的更多信息,去这里:
/guides/introduction/introduction-to-plugin-re gistry.html.
非递归构建
有时,你只想运行Maven构建,而不陷入项目子模块的构建。
通过使用下面的命令行选项,你可以做到这点:
-N, --non-recursive 阻止Maven构建子模块。
仅仅构建当前目录包含的项目。
运行该命令行选项使Maven只为当前目录下的项目执行生命周期中的目标或步骤。