[错误报告]: 描述 Cannot invoke "String.split(String)" because "v1" is null
Author: lngexCreated Jul 17, 2026Updated Jul 17, 2026
确认
- 我使用的版本是最新版, 并且使用插件确认过项目里无依赖版本冲突
- 我已经在 issue 中搜索过, 确认问题没有被提出过
- 我已经修改标题, 将标题中的 描述 替换为遇到的问题(不得删除 描述 前面的部分)
当前程序版本
3.5.17
问题描述
项目启动时出现空指针异常,在mybatis-plus-core-3.5.17.jar包中没有Implementation-Version配置,从而导致空指针
详细堆栈日志
Caused by: java.io.IOException: Failed to parse mapping resource: 'file [.xml]'
at com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean.buildSqlSessionFactory(MybatisSqlSessionFactoryBean.java:684)
at com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean.afterPropertiesSet(MybatisSqlSessionFactoryBean.java:557)
at com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean.getObject(MybatisSqlSessionFactoryBean.java:715)
atdb1SqlSessionFactory(OpencenterDataSourceConfig.java:70)
at com.farseer.basic.config.datasourcess.OpencenterDataSourceConfig$$SpringCGLIB$$0.CGLIB$db1SqlSessionFactory$3(<generated>)
at config.datasourcess.OpencenterDataSourceConfig$$SpringCGLIB$$FastClass$$1.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:398)
at $$SpringCGLIB$$0.db1SqlSessionFactory(<generated>)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:155)
... 48 common frames omitted
Caused by: java.lang.NullPointerException: Cannot invoke "String.split(String)" because "v1" is null
at com.github.yulichang.toolkit.VersionUtils.compare(VersionUtils.java:12)
at com.github.yulichang.injector.MPJSqlInjector.getJoinMethod(MPJSqlInjector.java:117)
at com.github.yulichang.injector.MPJSqlInjector.methodFilter(MPJSqlInjector.java:111)
at com.github.yulichang.injector.MPJSqlInjector.getMethodList(MPJSqlInjector.java:93)
at com.baomidou.mybatisplus.core.injector.AbstractSqlInjector.inspectInject(AbstractSqlInjector.java:51)
at com.github.yulichang.injector.MPJSqlInjector.inspectInject(MPJSqlInjector.java:168)
at com.baomidou.mybatisplus.core.MybatisMapperAnnotationBuilder.parserInjector(MybatisMapperAnnotationBuilder.java:126)
at com.baomidou.mybatisplus.core.MybatisMapperAnnotationBuilder.parse(MybatisMapperAnnotationBuilder.java:116)
at com.baomidou.mybatisplus.core.MybatisMapperRegistry.addMapper(MybatisMapperRegistry.java:90)
at com.baomidou.mybatisplus.core.MybatisConfiguration.addMapper(MybatisConfiguration.java:129)
at com.baomidou.mybatisplus.core.MybatisXMLMapperBuilder.bindMapperForNamespace(MybatisXMLMapperBuilder.java:401)
at com.baomidou.mybatisplus.core.MybatisXMLMapperBuilder.parse(MybatisXMLMapperBuilder.java:104)
at com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean.buildSqlSessionFactory(MybatisSqlSessionFactoryBean.java:682)
... 59 common frames omittedSource: baomidou/mybatis-plus