1.新建微服務應用,引用公司中的公共數據源common-datasource的jar包(含mybatis包),配置好依賴關係後,啓動項目,報如下錯誤:
java.lang.NoClassDefFoundError: org/apache/ibatis/cursor/Cursor
網上搜索之後說是因爲mybatis和mybatis-spring的版本問題導致的,需要切換版本如下:
查看公共數據源jar中的pom發現common-datasource中的pom版本正確,如下:
實際jar包中加載的mybatis版本卻是3.2.3版本,通過MVN dependency:tree 檢查依賴關係之後,發現是其他的公共組件B項目jar包中也引用了mybatis包,且版本較低導致。
解決方法:將數據源的依賴關係放到B項目的依賴之前就可以解決,也可以通過如下配置剔除依賴:
<exclusions> <exclusion> <groupId></groupId> <artifactId></artifactId> </exclusion> </exclusions>