Maven 常见命令简介
- 格式:doc
- 大小:34.50 KB
- 文档页数:3
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 验证⼯程是否正确,所有需要的资源是否可⽤。
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常⽤命令及其作⽤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常用命令生命周期阶段以及对应的目标/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是一款流行的构建工具,用于管理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 常用命令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 常用命令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的常用命令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。
maven常⽤命令⼀、maven常⽤命令:1.mvn clean 清空产⽣的项⽬( target⾥)2.mvn compile 编译源代码3.mvn install 在本地repository中安装jar(包含mvn compile,mvn package,然后上传到本地仓库)4.mvn deploy 上传到私服(包含mvn install,然后,上传到私服)5.mvn package 打包6.mvn test 运⾏测试7.mvn site 产⽣site8.mvn test-compile 编译测试代码9.mvn -Dtest package 只打包不测试10.mvn jar:jar 只打jar包11.mvn test -skipping compile -skipping test-compile 只测试⽽不编译,也不测试编译12.mvn deploy13.mvn source.jar 源码打包⼆、把pom⽂件中配置的依赖jar包打进来,打成⼀个包:要⽤maven-assembly-plugin 这个插件,在pom⽂件加如下配置1 <build>2 <plugins>3 <plugin>4 <artifactId>maven-compiler-plugin</artifactId>5 <version>2.3.2</version>6 <configuration>7 <source>1.7</source>8 <target>1.7</target>9 </configuration>10 </plugin>11 <plugin>12 <artifactId>maven-assembly-plugin</artifactId>13 <configuration>14 <appendAssemblyId>false</appendAssemblyId>15 <descriptorRefs>16 <descriptorRef>jar-with-dependencies</descriptorRef>17 </descriptorRefs>18 </configuration>19 <executions>20 <execution>21 <id>make-assembly</id>22 <phase>package</phase>23 <goals>24 <goal>assembly</goal>25 </goals>26 </execution>27 </executions>28 </plugin>29 </plugins>30 </build>⼆、⽽下⾯这种配置:在eclipse中,Run as ->Maven build-> install ⽣成的包,只有该项⽬⾃⼰,<dependencies>⾥引⼊的第三⽅jar并没打进去;但⽤package命令,⽣成项⽬本⾝⼀个jar,还⽣成⼀个*-jar-with-dependencies.jar,依赖的jar 都在这个*-jar-with-dependencies.jar包⾥,项⽬本⾝的包还是它⾃⼰1 <build>2 <plugins>3 <plugin>4 <artifactId>maven-compiler-plugin</artifactId>5 <version>2.3.2</version>6 <configuration>7 <source>1.7</source>8 <target>1.7</target>9 </configuration>10 </plugin>11 <plugin>12 <artifactId>maven-assembly-plugin</artifactId>13 <configuration>14 <descriptorRefs>15 <descriptorRef>jar-with-dependencies</descriptorRef>16 </descriptorRefs>17 </configuration>18 </plugin>19 </plugins>20 </build>三、如果不想包含依赖的jar包,可以把<build>⾥⾯的代码替换成如下code:1 <!-- 打包jar⽂件时,配置manifest⽂件,加⼊lib包的jar依赖 -->2 <plugin>3 <groupId>org.apache.maven.plugins</groupId>4 <artifactId>maven-jar-plugin</artifactId>5 <configuration>6 <archive>7 <manifest>8 <addClasspath>true</addClasspath>9 <classpathPrefix>lib/</classpathPrefix>10 <mainClass>com.xxx.uploadFile</mainClass>11 </manifest>12 </archive>13 </configuration>14 </plugin>15 <!-- 拷贝依赖的jar包到lib⽬录 -->16 <plugin>17 <groupId>org.apache.maven.plugins</groupId>18 <artifactId>maven-dependency-plugin</artifactId>19 <executions>20 <execution>21 <id>copy</id>22 <phase>package</phase>23 <goals>24 <goal>copy-dependencies</goal>25 </goals>26 <configuration>27 <outputDirectory>28 ${project.build.directory}/lib29 </outputDirectory>30 </configuration>31 </execution>32 </executions>33 </plugin>四、只包含部分依赖jar包如果想只包含部分依赖jar包⽐如说,想做⼀个⼯具jar包,依赖公共jar和⾃⼰本地jar包,本地jar包需要解压成class打到jar包内,⽽依赖的公共jar包则不需要。
mvn 常用命令1. 简介Apache Maven 是一个流行的项目管理工具,用于构建、管理和部署Java项目。
它基于项目对象模型(POM)的概念,提供了一种统一的方式来管理软件项目的构建、报告和文档生成。
在使用Maven时,我们可以通过命令行来执行各种任务。
本文将介绍一些常用的mvn命令及其用法,以帮助开发人员更好地使用Maven进行项目管理。
2. mvn命令概述mvn命令用于执行Maven的各种任务。
通常,我们可以使用mvn命令执行以下几种任务:•构建项目•运行测试•打包项目•安装项目到本地仓库•部署项目到远程仓库•清理项目下面将逐个介绍这些常用的mvn命令及其用法。
3. 构建项目通过mvn命令构建项目是使用Maven最常见的任务之一。
构建项目时,Maven会查找项目根目录下的pom.xml文件,并根据其中的配置信息执行相应的操作。
要构建项目,可以使用以下命令:mvn compile该命令将编译项目中的所有源文件,并将编译结果输出到target目录中。
4. 运行测试在开发过程中,我们通常会编写一些单元测试来验证代码的正确性。
Maven提供了一种方便的方式来运行这些测试。
要运行项目的测试,可以使用以下命令:mvn test该命令将执行项目中的所有测试,并输出测试结果。
5. 打包项目完成开发后,我们通常需要将项目打包成可执行的文件,以便部署到生产环境中。
要打包项目,可以使用以下命令:mvn package该命令将打包项目,并将打包结果输出到target目录中。
6. 安装项目到本地仓库有时候,我们需要将项目安装到本地仓库中,以便其他项目可以通过依赖来使用它。
要安装项目到本地仓库,可以使用以下命令:mvn install该命令将打包项目并安装到本地仓库中。
其他项目可以通过声明该项目的依赖来使用它。
7. 部署项目到远程仓库如果我们需要将项目部署到远程仓库,以供其他开发人员或团队使用,可以使用以下命令:mvn deploy该命令将打包项目并将其部署到远程仓库中。
Maven 是一个项目管理和构建自动化工具,主要用于Java 项目。
以下是一些常见的Maven 命令:
1. `mvn clean`: 清理项目构建输出目录。
2. `mvn compile`: 编译项目中的源代码。
3. `mvn test`: 运行项目中的单元测试。
4. `mvn package`: 打包项目,生成可部署的构件(如JAR、WAR 等)。
5. `mvn install`: 将打包好的构件安装到本地Maven 仓库中,以便其他项目依赖。
6. `mvn deploy`: 将打包好的构件部署到远程Maven 仓库中,以便其他项目依赖。
7. `mvn versions:set -DnewVersion=1.0.1`: 修改项目版本号。
8. `mvn help:effective-pom`: 显示当前项目的生效POM(Project Object Model)文件内容。
9. `mvn help:system`: 显示系统属性和环境变量。
10. `mvn archetype:generate`: 根据指定的模板生成一个新的Maven 项目。
maven编译命令从别处拷贝来的maven项⽬,有时候会出现不能debug关联的情况,即按住ctrl键后不能跳转到相应的类或⽅法,这是需要eclipse环境⽣成Eclipse 项⽬⽂件的。
可以在cmd命令窗⼝下进⼊到maven项⽬包含pom.xml⽂件的⽬录下,运⾏mvn eclipse:eclipse 命令即可,如果还不⾏,可使⽤mvn compile :编译源代码命令。
下⾯是⼀些maven的常⽤命令:Maven2 的运⾏命令为: mvn ,常⽤命令为:mvn archetype:create :创建 Maven 项⽬mvn compile :编译源代码mvn clean compile : 可以清除后再编译mvn test-compile :编译测试代码mvn test :运⾏应⽤程序中的单元测试mvn site :⽣成项⽬相关信息的⽹站mvn clean :清除⽬标⽬录中的⽣成结果mvn package :依据项⽬⽣成 jar ⽂件mvn install :在本地 Repository 中安装 jarmvn eclipse:eclipse :⽣成 Eclipse 项⽬⽂件⽣成项⽬建⼀个 JAVA 项⽬: mvn archetype:create -DgroupId=com.demo -DartifactId=App建⼀个 web 项⽬: mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp⽣成 Eclipse 项⽬普通 Eclipse 项⽬执⾏: mvn eclipse:eclipseEclipse WTP 项⽬执⾏: mvn eclipse:eclipse –Dwtpversion=1.0。
Maven命令参数1. 介绍Maven是一个流行的Java项目管理工具,可以帮助开发人员自动化构建、测试和部署项目。
在使用Maven时,开发人员可以通过命令行传递不同的参数来实现不同的操作,从而更好地管理和控制项目。
本文将介绍一些常用的Maven命令参数。
2. 基本使用2.1 mvn clean该命令用于清理先前构建生成的文件,包括编译的class文件、目标文件和生成的JAR、WAR文件等等。
2.2 mvn compile该命令用于编译代码,并生成对应的class文件。
编译后的文件存放在target目录下。
2.3 mvn test该命令用于运行测试代码。
Maven会自动执行项目中的单元测试,并给出测试结果。
开发人员可以通过该命令快速验证项目的正确性。
2.4 mvn package该命令用于打包项目。
Maven会根据项目的配置文件,将编译后的代码打包成JAR、WAR等格式的文件。
打包后的文件存放在target目录下。
2.5 mvn install该命令用于将项目的打包文件安装到本地仓库。
安装到本地仓库后,其他项目就可以引用该文件。
开发人员在构建项目时,可以方便地从本地仓库中获取依赖的文件。
3. 常用参数3.1 -D该参数用于传递系统属性值。
可以通过-D参数,设置一些系统属性,用于特殊的构建需求。
例如,可以使用-DskipTests参数来跳过测试阶段,加快构建过程。
3.2 -P该参数用于指定构建过程中使用的profile。
Profile是一组配置的集合,可以通过命令行参数指定。
例如,可以使用-Pproduction参数来选择生产环境的配置文件。
3.3 -f该参数用于指定使用的POM文件。
Maven的项目配置文件通常为pom.xml,但有时也可能有其他名称的配置文件。
通过-f参数,可以指定特定的配置文件。
3.4 -X该参数用于开启调试模式。
在调试模式下,Maven会输出更详细的日志信息,便于开发人员定位和解决问题。
maven常用命令及作用Maven是一款非常流行的Java项目管理工具,它可以自动化构建、测试和部署Java项目。
在使用Maven时,我们需要掌握一些常用的命令,这些命令可以帮助我们更好地管理项目。
本文将介绍Maven的常用命令及作用。
一、Maven基础命令1. mvn clean该命令会清除之前构建生成的目录和文件,包括target目录、编译生成的class文件和jar包等。
2. mvn compile该命令会编译源代码,并将编译生成的class文件放到target目录下。
3. mvn test该命令会执行项目中所有测试用例,并输出测试结果报告。
4. mvn package该命令会将项目打包成jar或war包,并存放在target目录下。
打包方式可以在pom.xml文件中配置。
5. mvn install该命令会将打包后的jar或war包安装到本地maven库中,以便其他项目可以引用它。
6. mvn deploy该命令会将打包后的jar或war包部署到远程maven库中,以便其他开发人员可以使用它。
部署方式也可以在pom.xml文件中配置。
二、Maven高级命令1. mvn dependency:tree该命令会显示当前项目所有依赖关系树状结构图,方便开发人员查看项目的依赖关系。
2. mvn dependency:copy-dependencies该命令会将项目所有依赖的jar包复制到指定目录下,方便开发人员在本地进行调试。
3. mvn dependency:analyze该命令会分析项目中的依赖关系,并输出警告信息,提示开发人员可能会出现的问题。
4. mvn site该命令会生成项目文档网站,并存放在target/site目录下。
文档网站包括项目介绍、构建过程、测试报告等信息。
5. mvn clean install -DskipTests该命令可以跳过测试阶段,直接将打包后的jar或war包安装到本地maven库中。
Maven常⽤命令
maven常⽤命令(编译、测试、运⾏、打包、安装、部署)我们可以在cmd中通过⼀系列的maven命令来对我们的maven-helloworld⼯程进⾏编译、测试、运⾏、打包、安装、部署。
compile
compile是maven⼯程的编译命令,作⽤是将src/main/java下的⽂件编译为class⽂件输出到target⽬录下。
cmd进⼊命令状态,执⾏mvn compile,如下图提⽰成功:
查看 target⽬录,class⽂件已⽣成,编译完成。
test
test是maven⼯程的测试命令 mvn test,会执⾏src/test/java下的单元测试类。
cmd执⾏mvn test执⾏src/test/java下单元测试类。
clean
clean是maven⼯程的清理命令,执⾏ mvn clean会删除target⽬录及内容。
package
package是maven⼯程的打包命令,对于java⼯程执⾏mvn package打成jar包,对于web⼯程打成war包。
install
install是maven⼯程的安装命令,执⾏mvn install将maven打成jar包或war包发布到本地仓库。
从运⾏结果中,可以看出:
当后⾯的命令执⾏时,前⾯的操作过程也都会⾃动执⾏。
maven常用命令Maven 是 Apache 下的一个开源项目,它是一个项目管理和构建工具,通过pom.xml 配置文件来定制项目,内置了许多相关的插件来管理Java项目。
1. mvn -v 查看 Maven 版本2. mvn archetype:generate -DgroupId=<groupId> -DartifactId=<artifactId> -DarchetypeArtifactId=maven-archetype-quickstart [-DinteractiveMode=false] 快速创建 Java 项目3. mvn install 打包产生 jar 文件4. mvn clean 清理项目和项目所生成的文件5. mvn eclipse:clean 将项目转换成 eclipse 项目6. mvn eclipse:eclipse 将 eclipse 转换成 maven 项目7. mvn dependency:tree 查看依赖树8. mvn compile 编译 java 文件10. mvn deploy 上传文件到服务器11. mvn test 运行测试13. mvn site 创建一个站点报告,以便于管理项目14. mvn help:describe -Dcommand=<goal> 查看某个目标的帮助信息16. mvn help:system 显示系统环境,Maven 和 Java 信息18. mvn dependency:copy-dependencies 拷贝依赖文件到指定目录19. mvn help:effective-pom 获得生效的 POM 列表20. mvn clean verify 清理和打包。
maven常用命令介绍1 下载源代码:mvndependency:sources -DdownloadSources=true-DdownloadJavadocs=truemaven常用命令介绍这里主要是在eclipse中使用maven,因此只使用到了一部分命令,整理下来方便以后查阅。
生成清除Eclipse项目结构:mvneclipse:eclipsemvneclipse:clean清理(删除target目录下编译内容)mvn clean仅打包Web页面文件mvnwar:exploded编译项目mvn compile打包发布mvn package打包时跳过测试mvn package -Dmaven.test.skip=ture还有很多命令目前还没有使用到,以后遇到再补充Maven用了很久了,命令一直记不住,其实想想就那个几个常用的,今天写下来,帮着记忆吧∙创建一个简单的Java工程:mvnarchetype:create -DgroupId=com.mycompany.example -DartifactId=Example ∙创建一个java的web工程:mvnarchetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.mycompany.app -DartifactId=my-webapp ∙打包:mvn package∙编译:mvn compile∙编译测试程序:mvn test-compile∙清空:mvn clean∙运行测试:mvn test∙生成站点目录: mvn site∙生成站点目录并发布:mvn site-deploy∙安装当前工程的输出文件到本地仓库: mvn install∙安装指定文件到本地仓库:mvninstall:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>∙查看实际pom信息: mvnhelp:effective-pom∙分析项目的依赖信息:mvndependency:analyze或mvndependency:tree∙跳过测试运行maven任务: mvn -Dmaven.test.skip=true XXX∙生成eclipse项目文件: mvneclipse:eclipse∙查看帮助信息:mvnhelp:help或mvnhelp:help -Ddetail=true∙查看插件的帮助信息:mvn<plug-in>:help,比如:mvndependency:help或mvnant:help等等。
maven常用命令及作用Maven是一个基于Java的项目管理工具,它可以帮助开发人员自动化构建、测试和部署Java项目。
Maven的核心理念是约定优于配置,它通过一系列的标准化配置文件和目录结构来规范项目的构建过程,从而简化了项目的管理和维护。
在本文中,我们将介绍Maven常用命令及其作用。
1. mvn clean该命令用于清理项目中的所有编译输出和临时文件,包括target目录、日志文件、编译缓存等。
执行该命令可以确保项目的构建环境是干净的,从而避免一些潜在的问题。
2. mvn compile该命令用于编译项目的源代码,生成Java字节码文件。
执行该命令会自动下载项目所依赖的库文件,并将它们添加到编译路径中。
如果编译过程中出现错误,Maven会输出错误信息并停止编译。
3. mvn test该命令用于运行项目的单元测试。
执行该命令会自动编译项目的源代码和测试代码,并运行所有的测试用例。
如果测试用例中有失败的情况,Maven会输出错误信息并停止测试。
4. mvn package该命令用于打包项目,生成可部署的应用程序。
执行该命令会自动编译项目的源代码和资源文件,并将它们打包成一个可执行的JAR 或WAR文件。
该命令还会自动将项目所依赖的库文件打包到生成的文件中。
5. mvn install该命令用于将项目的构建结果安装到本地Maven仓库中。
执行该命令会自动编译项目的源代码和资源文件,并将它们打包成一个JAR或WAR文件。
该命令还会自动将项目所依赖的库文件打包到生成的文件中,并将它们安装到本地Maven仓库中,以便其他项目可以引用它们。
6. mvn deploy该命令用于将项目的构建结果部署到远程Maven仓库中。
执行该命令会自动编译项目的源代码和资源文件,并将它们打包成一个JAR或WAR文件。
该命令还会自动将项目所依赖的库文件打包到生成的文件中,并将它们上传到远程Maven仓库中,以便其他项目可以引用它们。
linux中mvn命令的用法
mvn命令是Maven构建工具中的常用命令,用于管理Maven项目的构建、依赖、打包等操作。
以下是Linux中mvn命令的用法:
1. mvn clean:清理Maven项目中的target目录,删除生成的class文件和Jar包等,以便重新构建项目。
2. mvn compile:编译Maven项目中的Java源文件,将源文件编译为class文件。
3. mvn package:将Maven项目打包成Jar包或War包,可用于部署到Web服务器。
4. mvn install:将Maven项目打包并安装到本地Maven仓库中,以便其他项目引用。
5. mvn deploy:将Maven项目打包并发布到远程Maven仓库中,以便其他开发者使用。
6. mvn dependency:tree:查看Maven项目的依赖树,以便了解项目的依赖情况。
7. mvn help:查看Maven命令的帮助信息,了解各个命令的用法和参数。
总之,mvn命令是Maven构建工具中非常重要的命令,掌握其用法可以提高开发效率并确保项目的可靠性。
- 1 -。
maven笔记(maven笔记)maven笔记(maven笔记)1、maven 最主要的命令mvn clean compile / / 编译mvn clean test / / 编译测试类, 测试mvn clean package / / 打包, 默认 (jar)mvn clean install / / 安装到本地maven仓库, 以供其他工程使用可以理解为4个生命周期, 执行后面的会把前面的执行上, 如执行test, 会自动先执行compile.又如install会先执行compile、test、package2、构件 - - - - 概念在maven里, 任何一个依赖、插件或者项目构建的输出, 都可以称为构件.3、maven的build包含生命周期阶段可以大致理解为:1、initialize2、compile3、test4、package5、integrationtest6、deploy4、default生命周期的内置插件绑定关系及具体任务生命周期阶段插件: 目标执行任务process resources maven plugin: resources 复制主要资源文件至主输出目录 resourcesmaven compile compiler plugin: compile 编译主代码至主输出目录process test resources maven plugin: testresources复制测试资源文件至测试输出 resourcestest compile maven compiler plugin: testcompile 编译测试代码至测试输出目录test - surefire maven plugin: test 执行测试用例package maven jar: jar 创建项目jar包 plugininstall maven install plugin: install 将项目输出构件安装到本地仓库- deploy deploy maven plugin: deploy 将项目输出构件部署到远程仓库5、跳过test的installmvn install -dmaven.test.skip = truemvn install dskiptests6、输出详细stack可以加参数 - x7、pom继承父pom的写法< object >< >, < / groupid com.suning.sample groupid >> < artifactid hgv sample pom < / artifactid >< >, < / > 0.0.1 version version< >. relativepath / hgv sample pom / pom.xml relativepath > </parent > < /8、通过依赖管理 - dependencymanagement可以实现各pom的版本统一:父pom在dependencymanagement中写完整的dependency, 子类只写部分内容的dependency (如不写版本)剩余的从父类的dependencymanagement中继承, 从而实现只要更改父pom即可更改所有相关pom的版本.优点是如果子pom中没有相关dependency, 子pom不会引人父pom的dependencymanagement, 相当灵活.9、插件管理 - pluginmanagement类似上面第8条的dependencymanagement10、聚合与继承是两个概念, 聚合是方便快速构建项目, 继承为了消除重复配置.11、遵循约定优于配置12、聚合项目的构建顺序不单单取决于pom在聚合pom中的顺序, 当遇到继承和依赖时顺序类似于spring的bean装载的顺序.13、有聚合pom的情况下, 执行聚合pom单独构建指定模块的指令:mvn clean install pl project - module1, project module214、创建私服可使用nexus15、maven - surefire - plugin的test目标会自动执行测试路径: src / test / java下面* * / test *. java* * / * test.java* * / * testcase.java这几个命名格式的类16, dynamically specifies the test cases to runMVN test -Dtest = < test case class that needs to be tested >17, Maven Profile can be implemented in different settings under different environments, the application is equivalent to modify a subset of pom.Developers use the MVN command and then add -Pdev to activate dev profile, and the rest of the same.<profiles><profile><id>dev</id><activation><activeByDefault>true</activeByDefault></activation><build><filters><filter>../${project.parent.artifactId}/vars/vars.dev.properties</fi lter></filters></build></profile><profile><id>pre</id><build><filters><filter>../${project.parent.artifactId}/vars/vars.pre.properties</filter></filters></build></profile><profile><id>prod</id><properties><snf-quartz.version>0.0.1</snf-quartz.version></properties><build><filters><filter>../${project.parent.artifactId}/vars/vars.prod.properties</f ilter></filters></build></profile></profiles>18, Maven attribute propertiesYou can get it by default through ${name}, as long as the file is configured as the resource pathIf you get the attribute values by file.Properties, you can configure the change to default access mode in the plug-in maven-resources-plugin. For more details, see snf-parent.pom<properties> elements can be used to facilitate the management of pom.Such as <properties><db2-jdbc-version>9.7.0.4</db2-jdbc-version></properties>Later in POM, you need to use the value of the 9.7.0.4 version, as long as you use it<version>${db2-jdbc-version}</version>19, about build.filters.filterDefine filtering to replace the corresponding property file, using the attributes defined by maven.Properties load order for maven1. Configuration in <build><filters>2, <properties> in pom.xml20, problem: when the project documents are nothing wrong, but the project folder appears X, may be due to the change of the main project POM, but the sub project does not update dependenceSolution: right hit Engineering - "Maven -" Update Maven Dependencies can be21, the project packaged into war package, must have web.xml. Web.xml defines the structure of the war package22, set the default JDK version of maven:1, modify the settings.xml file<profile><id>jdk-1.6</id><activation><activeByDefault>true</activeByDefault><jdk>1.6</jdk></activation><properties><piler.source>1.6</piler.source><piler.target>1.6</piler.target><pilerVersion>1.6</pilerVersion> </properties></profile>Of course, you can modify the plug-in configuration in POM, but each time it is difficult to configure, but it is recommended to configure. This is easy to transplant.。
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只为当前目录下的项目执行生命周期中的目标或步骤。