maven知识点整理
所属分类 maven
浏览量 1388
仓库
本地(local)
远程(remote)
依赖 library jar、plugin jar
本地仓库默认 ${user.home}/.m2/repository
settings.xml 设置
localRepository
中央仓库
私有仓库
中央仓库配置
central
Central
Central
http://repo.maven.apache.org/maven2/
central
Mirror
mirrorid
central
one of the central mirrors
xxx
mirrorOf central *
坐标 GAV groupId artifactId version
groupId:表示一个团体,可以是公司、组织等
artifactId:表示团体下的某个项目
version:表示某个项目的版本号
依赖 传递 冲突
两种冲突处理策略
短路优先
声明优先
依赖排除
excluded.groupId
excluded-artifactId
冲突导致的 NoSuchMethodError
mvn dependency:tree -Dverbose -Dincludes=javax.servlet:servlet-api
冲突 NoSuchMethodError 解决思路
找到冲突的jar包
确认正确的和错误的jar
打印依赖树
正确的依赖优先声明
排除错误的依赖包
依赖管理
多模块聚合 packaging pom
继承 parent
parent dependencyManagement 声明版本,子项目不需要版本
常用maven命令
mvn -version
mvn compile 编译源码
mvn package 打包 生成 jar 或 war
mvn test
mvn install 把jar包复制到本地仓库
mvn deploy 发布到远程仓库
mvn eclipse:eclipse
mvn dependency:tree
mvn tomcat:run
mvn jetty:run
mvn dependency:analyze-only
[WARNING] Used undeclared dependencies found:
[WARNING] Unused declared dependencies found:
mvn package -Dmaven.test.skip=true
-P 指定Profile
一般分开发,测试,预发,正式4个环境
dev
dev
true
qa
qa
pre
pre
prod
prod
...
config/${env}.properties
src/main/resources
true
mvn package -P dev
-e 显示maven运行出错的信息
-o 离线执行命令,即不去远程仓库更新包
-X 显示maven允许的debug信息
-U 强制去远程更新snapshot的插件或依赖,默认每天只更新一次
上一篇
下一篇
springboot2获取web端口
springboot2微服务实例
springcloud DiscoveryClient使用说明
springboot打包成可执行jar
springboot打包排除配置文件
springboot序列化异常FAIL_ON_EMPTY_BEANS处理