java.lang.NoClassDefFoundError: ognl/PropertyAccessor
引入MyBatis源码作为依赖,进行debug时会报这个错误。
- 原因:
MyBatis的pom文件中这两个依赖的Optional是true,这个设置会使其他项目引用MyBatis时不加入这个依赖,如下面所示
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>3.2.10</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.24.1-GA</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
- 解决方案:
在自己的项目中(不是MyBatis源文件中)引入这两个依赖,或者将两个 optional 标签注释掉即可