maven 项目的生命周期:每一套生命周期相互独立,互不影响。在一套生命周期内,执行后面的命令前面操作会自动执行。
CleanLifeCycle:清理生命周期
clean
defaultLifeCycle:默认生命周期
compile,test,package,install.deploy
siteLifeCycle:站点生命周期
site
maven中的依赖范围:
添加依赖范围默认是:compile
Provided:运行部署到tomcat不在需要
如果servlet-api设置为compile打包后包含servlet-api.jar包部署到tomcat,跟tomcat中已存在的冲突,导致运行失败。
<scope>provided</scope> //tomcat自带的jar包,依赖范围设置provided
maven常用命令
mvn -v/version 显示版本信息
mvn clean清理(删除target目录下编译内容)
mvn compile编译项目
mvn clean install 删除再编译
mvn package 生成target目录,编译、测试代码,生成测试报告,生成jar/war文件
mvn package -Dmaven.test.skip=ture 打包时跳过测试
mvn install -Dmaven.test.skip=true
mvn test-compile编译测试的内容
mvn test 运行测试
mvn install -X 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行
mvn -e 显示详细错误 信息.
mvn -X enable full debug logging
mvn exec:java -Dexec.mainClass=”com.keving.demo.Hello”
=======
打包命令 package, install, deploy
package: 打包到本地的编译目录一般是 target目录下
install: 打包到本地同时 push到本地仓库中去
deploy: 打包到本地同时 push到本地仓库并上传到远程私服:比如 nexus服务器
mvn -e 显示详细错误 信息.
mvn site 生成项目相关信息的网站
mvn validate 验证工程是否正确,所有需要的资源是否可用。
mvn integration-test 在集成测试可以运行的环境中处理和发布包。
mvn verify 运行任何检查,验证包是否有效且达到质量标准。
mvn generate-sources 产生应用需要的任何额外的源代码,如xdoclet。
mvn dependency:resolve 打印出已解决依赖的列表
mvn dependency:tree 打印整个依赖树
mvn install assembly:assembly 构建装配Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件
mvn jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用
-Djetty.port=xxxx jetty:run 改变jetty默认运行端口
===================================
本地jar包安装到repository仓库
mvn install:install-file
-Dfile=<path-to-file>
-DgroupId=<group-id>
-DartifactId=<artifact-id>
-Dversion=<version>
-Dpackaging=<packaging>