maven项目 pom.xml文件解析

maven项目 pom.xml文件解析,第1张

不是,maven可以通过原型的方式建立pom,除此以外你的所有部分还是需要自己写的。

pom主要的作用

1 是从网上的仓库里获取jar包 这早猜州样你提供给别人只要源码和pom就可以陆蔽了。

2 是pom可以通过层级的方式获取jar包,这样,你只需要关注你使用的jar包,至于这些jar包还调用了什么jar包,无兆知需关注,由系统自动获取。

3 可以管理jar包的版本。只要修改pom,就可以更换版本。剩的你不停手工下载不同版本进行测试。

maven3在解决依赖冲突采用就近原则,在就近原则不能做出判断的情况下依据pom.xml的声明的先后顺序决定导入的jar。

jar包冲突多为传递性依赖的管理不当给项目带来的麻烦解决思路罗列如下:

1、首先查看当前项目的jar关系如果使用eclipse、idea等编辑器可打开pom.xml文档底部有Dependency Hierarchy可供查看jar的依赖情况。第二种使用maven插件的方式使用命令行:

1

mvn dependency:tree

结果中重要的是两个部分,首先是Used undeclared dependencies意值项目中使用到的,但是没有显示声明的依赖。这种依赖意味着潜在的风险。他是通过其他直接依赖导入的传递性依赖,当直接依赖升级时相关依赖的版本也会变化。可能导致当前项目报错,且不易察觉。另一个部分绝老是Unused declared dependencies意指项目中未使用的,但显式声明的依赖。需要注意的是我们不应该直接删除了事而是应该仔细分析。因为这个命令行发现不了执行测试和运行时需要的依赖。

以上方法都可可完整的查看当前项目的jar情况,个人更喜欢使用命令行。

2、通过以上方法我们可以看到项目中引用jar版本号;接下来就是如何排除掉我们不想要版本的jar语法如下:

<dependency> <groupId>.....</grooupId> <artifactId>....</artifactId> <version>...</version> <exclusions> <exclusion> <groupId>.....</groupId> <artifactId>.....</artifactId> </exclusion> </exclesions><dependency><!--exclusions可包含一个或多个exclusion元素-->

3、一下规避jar冲突的思并罩升路,如果项目中有直接用到某个jar而这个jar已通闷郑过传递依赖的方式引入到maven项目里了。最好排除这个传递依赖在pom里面明确的声明这个依赖。归类依赖,不断的优化依赖如,去除多余的依赖。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12231200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存