maven 微服务项目多 包版本问题
mvn dependency:tree查看jar包直接的关系 找到重复的包!!!!
可以查看包版本问题
[INFO] | +- org.jpedal:OpenViewerFX:jar:6.6.14:compile
[INFO] | | +- org.eclipse.birt.runtime.3_7_1:org.mozilla.javascript:jar:1.7.2:compile
[INFO] | | +- bouncycastle:bcprov-jdk16:jar:140:compile
找到排除
<dependency> <groupId>org.jpedal</groupId> <artifactId>OpenViewerFX</artifactId> <version>6.6.14</version> <exclusions> <exclusion> <groupId>bouncycastle</groupId> <artifactId>bcprov-jdk16</artifactId> </exclusion> </exclusions> </dependency>
当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建、文档、报告、依赖、scms、发布
使用pom.xml来解决项目的依赖关系
src ——> 源代码和测试代码的根目录
main 应用代码的源目录
Java 源代码
resources 项目的资源文件
test 测试代码的源目录
java 测试代码
resources 测试的资源文件
target 编译后的类文件、jar文件等
方法groupId org、com、cn 盈利
artifactId 项目名
modelVersion 描述这个POM文件是遵从哪个版本的项目描述符
packaging 项目的打包类型:pom、jar、war pom父类型都为pom类型 jar内部调用或者是作服务使用 war需要部署的项目
properties 内置属性 POM属性 环境变量属性 自定义属性 ${project.version}获取
dependencyManagement 通过它元素来管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号 确保应用的各个项目的依赖和版本一致 ,想升级或者切换到另一个版本时,只需要在父类容器里更新,只是声明依赖,并不实现引入
dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承
<parent> 继承父类
relativePath元素中的地址–本地仓库–远程仓库
scope的默认值是compile 打包的时候通常需要包含进去
repositories 使用自己的作为仓库 不是从settings中配置的仓库下载
build 编译
pluginmanagement标签一般用在父pom中,子元素可以包含plugins插件
maven-compiler-plugin 编译Java源码
maven-dependency-plugin 复制依赖的jar包到指定的文件夹里
modules使用聚合,一次构建全部模块