异常信息:java.lang.ClassNotFoundException: javax.annotation.ParametersAreNonnullByDef

使用框架:dubbox + spring

实现目标:dubbox rest风格调用dubbo 服务

日志级别:debug

异常信息:java.lang.ClassNotFoundException: javax.annotation.ParametersAreNonnullByDef ,java.lang.ClassNotFoundException: javax.annotation.concurrent.GuardedBy等等。

Rest请求地址注册代码片段:


起初以为是缺少“javax.annotation.jar”包,但是项目中加入该jar包之后,依然报错,查看该jar包下的Class文件,发现根本没有这个class。查阅很多资料也没有相似的错误,以及解决方案。异常信息:java.lang.ClassNotFoundException: javax.annotation.ParametersAreNonnullByDef_第1张图片

后来认真看了下报错的信息,发现如下代码片段:


图片中红线框内是spring自动扫描包具体实现类。

认真想了想,spring是基于接口式的编程。会不会是spring扫描到接口类中的主键试图去解析的问题呢。后来更改了扫描的起始位置,绕过了这个类,果然不报错了。

虽然项目启动没问题了,但是rest的风格调用还是没实现,具体原因还在查找项目也不抛异常,估计只能看源码了。


PS:dubbox rest还在研究中,如果实现了会在后续文章中粘出来,备忘吧。


你可能感兴趣的:(异常管理)