当前位置: 首页 > news >正文

Tab标签切换wordpress/更先进的seo服务

Tab标签切换wordpress,更先进的seo服务,app开发策划书范文,室内设计公司排名国外项目中,经常会遇到ClassNotFound,NoSuchMethod异常,第一反应往往是类路径不对,jar没有正确的引用。第一步判断jar是否加载,还是 加载的jar由于maven依赖管理存在传递依赖,造成依赖的jar版本号不对,相应的类…

项目中,经常会遇到ClassNotFound,NoSuchMethod异常,第一反应往往是类路径不对,jar没有正确的引用。第一步判断jar是否加载,还是 加载的jar由于maven依赖管理存在传递依赖,造成依赖的jar版本号不对,相应的类找不到,或者是相应类版本不对,没有对应的方法。

一 造成jar 冲突的原因:如果项目中存在对同一jar不同版本依赖的时候,maven 2根据最近原则,默认引用最靠近项目版本的jar,maven 2.0.9会根据最先声明原则 来引用相应版本的jar;无论那种方式,都会出现jar包冲突。在这里提一下gradle依赖,会依赖最新版本的jar。

二 判断jar是否正确的被引用 有两种方法:

1在项目启动时加上VM参数:-verbose:class

项目启动的时候会把所有加载的jar都打印出来 类似如下的信息:

classpath加载的jar

  1. -classpath /home/yao/tool/jdk1.8.0_25/jre/lib/jce.jar:
  2. /home/yao/tool/jdk1.8.0_25/jre/lib/resources.jar:
  3. /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar:
  4. /home/yao/tool/jdk1.8.0_25/jre/lib/management-agent.jar:
  5. /home/yao/tool/jdk1.8.0_25/jre/lib/jfxswt.jar:
  6. /home/yao/tool/jdk1.8.0_25/jre/lib/plugin.jar:
  7. /home/yao/tool/jdk1.8.0_25/jre/lib/javaws.jar:
  8. /home/yao/tool/jdk1.8.0_25/jre/lib/charsets.jar:
  9. /home/yao/tool/jdk1.8.0_25/jre/lib/jsse.jar:
  10. /home/yao/tool/jdk1.8.0_25/jre/lib/deploy.jar:
  11. /home/yao/tool/jdk1.8.0_25/jre/lib/jfr.jar:
  12. /home/yao/tool/jdk1.8.0_25/jre/lib/ext/localedata.jar:
  13. /home/yao/tool/jdk1.8.0_25/jre/lib/ext/nashorn.jar:
  14. /home/yao/tool/jdk1.8.0_25/jre/lib/ext/jfxrt.jar:
  15. /home/yao/tool/jdk1.8.0_25/jre/lib/ext/sunjce_provider.jar:
  16. ...............等等

具体load的类

[Loaded java.lang.Object from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]
[Loaded java.io.Serializable from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]
[Loaded java.lang.Comparable from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]
[Loaded java.lang.CharSequence from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]
[Loaded java.lang.String from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]
[Loaded java.lang.reflect.Type from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]
[Loaded java.lang.Class from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]
..................等等

我们可以通过上面的信息查找对应的jar是否正确的被依赖,具体类加载情况,同时可以看到版本号,确定是否由于依赖冲突造成的jar引用不正确;

2 通过maven自带的工具:‍‍mvn dependency:tree

具体后面可以加 -Dverbose 参数 ,详细参数可以去自己搜,这里不详细介绍。

比如分析如下POM

运行: mvn dependency:tree -Dverbose

 <dependencies><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.2-FINAL</version></dependency><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.7.0</version></dependency></dependencies>

输出结果:

  1. [INFO] ------------------------------------------------------------------------
  2. [INFO]
  3. [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ Dependency ---
  4. [INFO] com.yao:Dependency:pom:1.0-SNAPSHOT
  5. [INFO] +- org.apache.poi:poi:jar:3.2-FINAL:compile
  6. [INFO] | +- commons-logging:commons-logging:jar:1.1:compile
  7. [INFO] | | \- log4j:log4j:jar:1.2.13:compile
  8. [INFO] | \- (log4j:log4j:jar:1.2.13:compile - scope updated from runtime; omitted for duplicate)
  9. [INFO] \- commons-beanutils:commons-beanutils:jar:1.7.0:compile
  10. [INFO] \- (commons-logging:commons-logging:jar:1.0.3:compile - omitted for conflict with 1.1)
  11. [INFO] ------------------------------------------------------------------------

通过里面的信息可以看到 两个jar都commons-logging存在依赖,但是版本不同。里面的详细信息显示引用了 commons-logging:commons-logging:jar:1.1 去掉了commons-logging:commons-logging:jar:1.0.3 (omitted for duplicate)。

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

三 通过Idea intellij 中的Show Dependencies的工具去除重复的jar

在Pom.xml文件上右击 选择 Diagrams -> Show Dependencies 即可查看Pom的依赖图,通过图可以很容易的看到依赖冲突的jar,exculude掉不想要的版本jar即可。

Maven依赖jar包冲突常见的解决方法
http://www.lbrq.cn/news/1275751.html

相关文章:

  • 管局审核一定要能打开网站/宁德seo公司
  • 杭州品牌网站制作/关键词挖掘查询工具爱站网
  • 个人网站备案信息/超级外链推广
  • 建设部网站施工合同范本去哪找/广告语
  • 厦门谁需要网站建设/3322免费域名注册
  • 网站后台建设教程/网络推广公司北京
  • 昆山教育平台网站建设/站长工具官网域名查询
  • 可以盗链图片的网站/工程建设数字化管理平台
  • 西安教育平台网站建设/网站建设工作总结
  • 品牌网站建设小蝌蚪1a/谷歌google浏览器官方下载
  • 12数据网站建设/重庆放心seo整站优化
  • 创建网站论坛/许昌网站seo
  • 邹平做网站哪家好/交换链接营销成功案例
  • 最新新闻热点事件佩洛西/重庆关键词优化服务
  • 名聚优品一家只做正品的网站/seo运营经理
  • 微信开发者工具教程实例/武汉seo关键词排名
  • 如何做直销产品的网站/百度网盘资源共享
  • 淘宝客做网站怎样推广/舆情服务网站
  • 菏泽科技网站建设/张家界百度seo
  • 中国建设基础设施公司网站/百度seo优化公司
  • 注册网站获取网易邮箱安全码/企业网站推广的形式有哪些
  • 手机网站建设要注意哪些问题/老鬼seo
  • 新闻发布会是什么意思/seo排名点击工具
  • 外贸网站服务商/网络营销策略优化
  • flash网站导航条怎么做/怎么制作公司网站
  • 优化网站公司价格是多少钱/seo网站诊断顾问
  • 杭州网站建设过程/搜狗网站收录提交入口
  • 遵义水网站建设/百度推广竞价排名
  • jsp技术做网站有什么特点/线上网络平台推广
  • 枣庄市网站建设/指数分布的期望和方差
  • 逻辑回归----银行贷款模型优化
  • 【东枫科技】DreamHAT+
  • 【前端】CSS Flexbox布局示例介绍
  • 今日矩阵系列
  • Linux多线程线程控制
  • 光谱相机自动调焦曝光控制