JDK17+SpringBoot v3.0.0-M4 遇到的坑

1,OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.

一开始以为是jdk的问题,后来找了半天才知道,原来是~~~~~~

不要勾选

Enable lanuch optimization

在idea 中 ,依次选择

RUN >> Edit Configurations…

找到 Spring boot 相关选项,取消勾选

Enable lanuch optimization

具体原因,如果你将鼠标悬停在这个选项上面,就可以看到解释,大致意思是说,如果我们勾选上这个,就会增加两个 JVM 参数 -XX:TieredStopAtLevel=1 和 -noverify ,从而可以禁止字节码校验,来提高编译速度, 这下终于知道 -noverify, 参数从那里来的了。


2,刚写一个springboot, 数据库还没建

启动时始终会报错:

“Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class”。

其意思是:

“配置数据源失败:未指定“url”属性,并且无法配置任何嵌入式数据源。

原因:无法确定合适的驱动类”

也就是说,项目中没有数据库相关的配置。Springboot在启动时默认会注入数据源,但是系统中又找不到数据库的配置,因此报错。

解决:

如果项目确实不需要连接数据库,请在启动类注解中添加

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})

暂时屏蔽数据库相关操作


3,配置了logback-spring.xml,看样子启动起来了,就是不打印日志,就卡在那里。

以为哪里出了问题,读取默认日志配置就可以打印,原来是日志配置中配置了环境,而在项目配置中,没有指定具体跑哪个环境

JDK17+SpringBoot v3.0.0-M4 遇到的坑_第1张图片

4, 创建好数据库,去掉exclude={DataSourceAutoConfiguration.class,正常连接。

结果启动后,报异常:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: org/springframework/core/NestedIOException

Spring 6 开始移除了该异常, 而mybatis-plus 的 MybatisSqlSessionFactoryBean 中使用到了这个异常,为了兼容 mybatis-plus 3.5.1,需在工程中自定义此异常

 

你可能感兴趣的:(Java学习心得,java17,spring,boot)