当启动时报错,查看错误信息,如Cannot load configuration class: org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration
就是无法加载配置类mybatis,为什么无法加载,就需要去看pom文件的mybatis依赖有没有写错,以及版本
mybatis的3.4.0及以上版本只支持mybatis-spring1.3.0及以上版本
说明是版本兼容问题,解决办法:mybatis的3.4.0及以上版本用mybatis-spring1.3.0及以上版本;mybatis的3.4.0以下版本用mybatis-spring1.3.0以下版本
我的springboot是2.2.0使用mybats1.3.1报错
报错原因: <!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency> 版本问题,使用1.3.2没事了
正确写法:<!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
Cannot load configuration class: org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration
当启动时报错,查看错误信息,如Cannot load configuration class: org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration就是无法加载配置类mybatis,为什么无法加载,就需要去看pom文件的mybatis依赖有没有写错,以及版本mybatis的3.4.0及以上版本只支持mybatis-sp...
Spring
抛java.lang.IllegalStateException: Cannot
load
configuration
class
异常
将项目SDK从jdk_16换成jdk_1.8即可
参考:https://teratail.com/questions/153773
系统:Windows 10 x64
项目SDK环境:jdk_16
开发工具:IntelliJ IDEA 2021.1 x64
pom.xml如下
<dependency>
赠送jar包:
mybatis
-
spring
-
boot
-
auto
configure
-1.3.2.jar;
赠送原API文档:
mybatis
-
spring
-
boot
-
auto
configure
-1.3.2-javadoc.jar;
赠送源代码:
mybatis
-
spring
-
boot
-
auto
configure
-1.3.2-sources.jar;
赠送Maven依赖信息文件:
mybatis
-
spring
-
boot
-
auto
configure
-1.3.2.pom;
包含翻译后的API文档:
mybatis
-
spring
-
boot
-
auto
configure
-1.3.2-javadoc-API文档-中文(简体)-英语-对照版.zip;
Maven坐标:
org
.
mybatis
.
spring
.
boot
:
mybatis
-
spring
-
boot
-
auto
configure
:1.3.2;
标签:
spring
、
mybatis
、
auto
configure
、
boot
、jar包、java、API文档、中英对照版;
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。
赠送jar包:
mybatis
-
spring
-
boot
-
auto
configure
-2.1.1.jar;
赠送原API文档:
mybatis
-
spring
-
boot
-
auto
configure
-2.1.1-javadoc.jar;
赠送源代码:
mybatis
-
spring
-
boot
-
auto
configure
-2.1.1-sources.jar;
赠送Maven依赖信息文件:
mybatis
-
spring
-
boot
-
auto
configure
-2.1.1.pom;
包含翻译后的API文档:
mybatis
-
spring
-
boot
-
auto
configure
-2.1.1-javadoc-API文档-中文(简体)版.zip;
Maven坐标:
org
.
mybatis
.
spring
.
boot
:
mybatis
-
spring
-
boot
-
auto
configure
:2.1.1;
标签:
mybatis
、
spring
、
boot
、
auto
configure
、中文文档、jar包、java;
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。
人性化翻译,文档中的代码和结构
### 回答1:
这个错误是Java程序在运行时出现的错误之一。错误信息 "caused by: java.lang.
class
notfoundexception:
org
.
mybatis
.logging.loggerfactory" 表明程序无法找到 "
org
.
mybatis
.logging.loggerfactory" 类。
这通常是由于缺少相应的类库或库文件导致的。您可以检查是否缺少所需的类库文件,如果缺少,您需要将其添加到程序的类路径中。
另外,如果您使用的是
MyBatis
框架,这个错误也可能是由于
MyBatis
配置文件中的错误配置或引用错误导致的。您可以检查
MyBatis
的配置文件,确保其中所有的配置项都正确地引用了相关的类库。
### 回答2:
该错误提示意味着在尝试加载
MyBatis
的日志记录器时,JVM无法找到
org
.
mybatis
.logging.loggerfactory这个类。这通常是由以下原因导致的:
1. 缺失
MyBatis
的依赖包。
MyBatis
的日志记录器是通过Log4j或者SLF4J实现的,所以在使用
MyBatis
时需要将相应的依赖包引入项目中,否则无法加载该类。可以通过在pom.xml中添加以下依赖来解决该问题:
```xml
<dependency>
<groupId>
org
.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>
org
.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
2. 未正确配置日志记录器。
在
MyBatis
使用Log4j或者SLF4J实现日志记录器时,需要在项目的
class
path中提供相应的配置文件。如果没有正确配置相关的日志记录器,则无法找到
org
.
mybatis
.logging.loggerfactory这个类。可以通过添加log4j.properties或者logback.xml文件来解决该问题。以下是一个Log4j的配置示例:
```properties
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=
org
.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=
org
.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
3.
MyBatis
版本不兼容。
如果项目中使用的
MyBatis
版本与依赖包中的版本不兼容,则可能会出现java.lang.
Class
NotFoundException:
org
.
mybatis
.logging.LoggerFactory这个错误。可以通过检查项目中的
MyBatis
版本号以及依赖包中
MyBatis
的版本号是否一致来解决该问题。如果不一致,则需要升级项目中的
MyBatis
版本。
### 回答3:
这个错误通常出现在使用
MyBatis
框架时,其中
MyBatis
框架需要日志实现(logging factory)来记录调试信息。在实际运行过程中,由于缺少相关的日志实现,就会导致这个异常的抛出。
解决这个问题,我们需要在项目中引入相应的日志实现,一般我们常用的是logback或者log4j等插件,具体步骤如下:
首先,我们需要在项目的pom.xml文件中添加对应的日志插件,例如:
<dependency>
<groupId>
org
.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
其次,在项目的配置文件中(比如log4j.xml等),配置要输出的日志信息,例如:
<appender name="console"
class
="
org
.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout
class
="
org
.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</layout>
</appender>
<logger name="
org
.
mybatis
" additivity="false">
<level value="TRACE"/>
<appender-ref ref="console"/>
</logger>
最后,在
MyBatis
的配置文件中(比如
mybatis
-config.xml等),配置对应的日志实现,例如:
<
configuration
>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
</
configuration
>
通过以上步骤,就可以解决由于缺少
MyBatis
日志实现而导致的该异常。
Cannot load configuration class: org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration
20076
o.a.catalina.core.ContainerBase.[Tomcat].[localhost].[/demo].[dispatcherServlet] - Servlet.service()
Error resolving template [hello], template might not exist or might not be accessible by any of the
Cannot load configuration class: org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration
CrazyAoli:
Cannot load configuration class: org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration
Tisfy:
o.a.catalina.core.ContainerBase.[Tomcat].[localhost].[/demo].[dispatcherServlet] - Servlet.service()
o.a.catalina.core.ContainerBase.[Tomcat].[localhost].[/demo].[dispatcherServlet] - Servlet.service()
jamcsdn:
o.a.catalina.core.ContainerBase.[Tomcat].[localhost].[/demo].[dispatcherServlet] - Servlet.service()
ksyu:
o.a.catalina.core.ContainerBase.[Tomcat].[localhost].[/demo].[dispatcherServlet] - Servlet.service()
Error resolving template [hello], template might not exist or might not be accessible by any of the