文章目录
生命周期命令简介
在 Maven 中,任何构件都是有生命周期的,而一个生命周期又包含多个阶段,每个阶段对应这一个执行指令,也就是生命周期命令。另外值得注意的一点,执行某个生命周期阶段指令,会将该阶段之前的所有阶段都执行完。例如,你执行命令 mvn install
,其实就是执行到生命周期中的 install 阶段,那么会将之前的生命周期阶段按顺序完成,所以执行 mvn install
就包含了构件的验证、初始化、源文件编译、资源文件的处理、测试、打包、集成测试等阶段的执行任务。
Maven构件的生命周期参见:http://c.biancheng.net/view/4899.html
命令详解
test
执行 src/test/java/ 下的junit的测试用例
执行命令如下:
mvn test
执行生命周期阶段 test,底层会去调用绑定的插件来完成测试任务,test 阶段默认会执行什么插件,可以配置。
执行具体指定的测试方法:
mvn test -Dtest=EmployeeDAOJdbcImplTest#testFindAll;
注意:等号 =
前后不允许出现空格。
执行具体指定的测试用例:
mvn test -Dtest=EmployeeDAOJdbcImplTest;
执行多个测试用例可以用逗号分开:
mvn test -Dtest=App2Test,AppTest;
package
将项目打成 war 包或者 jar 包,取决于项目的 pom.xml
中关于项目的打包类型的设置,如下所示:
verify
install
将当前项目放到 Maven 的本地仓库中,供其他项目使用
将自己打包或者下载的 jar/war 文件复制到本地仓库中,供其他模块使用
打开终端,切换到 pom.xml 所在目录下,执行下面的命令将 ojdbc-10.2.0.4.0.jar 安装到本地的 Maven 仓库中:
mvn install:install-file -Dfile="D:\Program Files\mvn\ojdbc-10.2.0.4.0.jar"
-DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar
jar 包的 GAV 信息可以解压 jar 包查看,也可以通过在线资源搜索网站进行查看,例如:https://mvnrepository.com/。
site
在命令终端中,进入 pom.xml 所在的目录(其实就是项目/模块根目录)下,然后执行下面的命令:
[~/documents/IdeaProjects/demo02]$ mvn site
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< com.example:demo02 >-------------------------
[INFO] Building demo02 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-site-plugin:3.9.0:site (default-site) @ demo02 ---
[INFO] configuring report plugin org.apache.maven.plugins:maven-project-info-reports-plugin:3.1.2
[INFO] 15 reports detected for maven-project-info-reports-plugin:3.1.2: ci-management, dependencies, dependency-info, dependency-management, distribution-management, index, issue-management, licenses, mailing-lists, modules, plugin-management, plugins, scm, summary, team
[INFO] Rendering site with default locale English (en)
[WARNING] No project URL defined - decoration links will not be relativized!
[INFO] Rendering content with org.apache.maven.skins:maven-default-skin:jar:1.3 skin.
[INFO] Generating "Dependencies" report --- maven-project-info-reports-plugin:3.1.2:dependencies
[INFO] Generating "Dependency Information" report --- maven-project-info-reports-plugin:3.1.2:dependency-info
[INFO] Generating "Distribution Management" report --- maven-project-info-reports-plugin:3.1.2:distribution-management
[INFO] Generating "About" report --- maven-project-info-reports-plugin:3.1.2:index
[INFO] Generating "Plugin Management" report --- maven-project-info-reports-plugin:3.1.2:plugin-management
[INFO] Generating "Plugins" report --- maven-project-info-reports-plugin:3.1.2:plugins
[INFO] Generating "Summary" report --- maven-project-info-reports-plugin:3.1.2:summary
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.732 s
[INFO] Finished at: 2022-01-25T21:47:41+08:00
[INFO] ------------------------------------------------------------------------
构建项目说明的站点,构建成功后,你可以在 target 目录下看到如下两个目录文件:
执行这个命令需要以下两个插件:
deploy
将打包的工件发布到远程的服务器,提供其他人员进行下载依赖。
将最终版本的包拷贝到远程的 repository,使得其他的开发者或者工程可以共享。