[错误报告]: 描述 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配置,从而导致空指针

详细堆栈日志

bash
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 omitted