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

包头网站开发建设wordpress调用热门文章

包头网站开发建设,wordpress调用热门文章,怎样快速提升网站权重,做淘客需要用的网站背景 我们在依赖第三方JAR时,同时也会间接的依赖第三方JAR引用的依赖,而当我们项目中某个依赖的版本与第三方JAR依赖的版本不一致时,可能会导致第三方JAR的在运行时无法找到某些方法或类,从而无法正常使用。 如我正在开发的一个…

背景

我们在依赖第三方JAR时,同时也会间接的依赖第三方JAR引用的依赖,而当我们项目中某个依赖的版本与第三方JAR依赖的版本不一致时,可能会导致第三方JAR的在运行时无法找到某些方法或类,从而无法正常使用。

如我正在开发的一个sdk.jar,其中会使用OpenFeign来进行HTTP通信,现在的项目一般来说都是通过依赖 spring-cloud-openfeign-core,并标注 @FeignClient 注解来实现,但是此项目却不能依赖 spring-cloud-openfeign-core。原因是我们公司有大量的老项目,使用的Spring版本比较老如Spring4,或是有的项目并没有使用Spring Boot。所以在设计之初时,为了兼容老项目,并且尽可能轻量,就设计成了sdk.jar不去依赖Spring Boot以及Spring Cloud,所以只能使用更加底层的io.github.openfeign:feign-core通过Feign.Builder创建各FeignClient。

其中如果要让Feign识别SpringMVC的各种注解,需要为其指定Contract,使用 spring-cloud-openfeign-core 时可以指定 SpringMvcContract,而使用 io.github.openfeign:feign-core 则需要指定 SpringContract,该类是在 io.github.openfeign:feign-spring4 中定义的。

一切看似正常,直到有一个项目使用sdk后在发起HTTP请求时抛出异常

Caused by: java.lang.NoClassDefFoundError: feign/DeclarativeContractat java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_202]at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[na:1.8.0_202]at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 

检查了下,该类是 SpringContract继承的父类。我们sdk.jar中openfeign版本是10.12,而对方项目中本身依赖了 spring-cloud-openfeign-core:2.1.2.RELEASE,对应io.github.openfeign:feign-core的版本为10.2.3,而该版本下确实没有DeclarativeContract类的。

知道问题的所在,那么就需要让对方升级openfeign的版本,并且在我们的用户手册兼容性章节下做出说明,那么到底是从什么版本开始有这个类的呢。如果按照合规性来说,每个新类或新方法的出现应该标注@since注解的,好告知使用者是从什么版本开始新增的,比如

/*** @author beemo* @since 1.2.0*/
public class Test {
}

但是实际上标注的是少数,包括openfeign,所以并不能直接是从什么版本开始新增的。

这时候就需要通过查询网站进行查询了。

实践

search.maven.org

https://search.maven.org/icon-default.png?t=N7T8https://search.maven.org/该网站是官方搜索网站,可以根据坐标、根据类或者根据checksum进行搜索,搜索格式如下

如在文章中最开始的例子中,我想搜索 DeclarativeContract 是从哪个版本中出现的,就可以在搜索框中输入如下搜索条件

 

可以看到,搜索结果有516条,翻页后发现有其他的jar中也包含同样的类,所以我们还需要再过滤一下,根据搜索格式说明增加过滤条件:

这次搜索只搜出了34条,这下我们可以回答前文的问题了,那就是至少升级到10.5.0版本才可以正常使用。


central.sonatype.com

Maven CentralOfficial search by the maintainers of Maven Central Repository.icon-default.png?t=N7T8https://central.sonatype.com/此网站同样是官方的网站,并且界面更好看,搜索条件也更丰富,查询方式略有不同,如下所示

总结

借助上述的网站,我们可以既可以搜索某个类是在什么版本出现的,也可以当程序执行报ClassNotFound等异常时,搜索缺失的依赖是什么,还是比较方便的。

http://www.yayakq.cn/news/540915/

相关文章:

  • 有个人做网站的网络公司名字大全三字
  • 做网站投广告赚钱么深圳外贸公司qc招聘
  • 做医药代表去什么招聘网站长沙flash网站制作
  • 网站弹出qq聊天窗口空间业务建设网站
  • wordpress网站管理网站建设-好发信息网
  • 个人做网站 优帮云学做网站去哪学
  • 建设部网站最新消息网站这么推广
  • 微网站appwordpress 直播网站
  • 做网站运营需要学什么条件网站不兼容360浏览器
  • 学校网站建设代码门户网站建设询价公告
  • 用哪个网站做简历更好推广方式线上线下
  • 阜阳网站建设工作室发软文提高网站权重
  • 镇江门户网站会员登录系统网站建设
  • 怎么建立属于自己的网站造价师资格证
  • 网站建设 要维护么什么网站可以做产品入驻
  • 商业网站需要的外贸网站价格
  • 公众号视频网站开发网站优化如何提高排名
  • 苏州建站公司 诚找苏州聚尚网络平面设计师培训
  • 做网站的计划书wordpress zerif lite
  • 平顶山网站建设企业网站建设与实施调研报告基本情况
  • 买书的网站排名郑州 网站建设有限公司
  • wordpress免费网页建站app开发公司杭州
  • 全球网站排名前100福建厦门网站建设
  • tv做后缀的动漫网站开发公司网站设计
  • 网站备案时要不要关闭外贸人才网论坛
  • 网站制作项目潍坊建设厅网站
  • 网站建设项目开发水文化建设网站
  • 昆明做网站猫咪科技jsp网站开发实例视频
  • 私自使用他人图片做网站宣传山西网站建设报价单
  • 电商网站竞价推广的策略哪个网站可以做付费推广