Bug集锦

1、Java出现The server time zone value ‘�й���׼ʱ��’ is unrecogni的解决

https://blog.csdn.net/bfelfish/article/details/90146541

2、数据源信息未配置

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class

需求:根据配置文件,切换不同数据源
方案:在application.properties文件中配置多数据源,并在java包下创建configuration,在test中测试
问题:由于test中没有加载到java中的configuration文件,且没有配置默认的spring.dataSource参数,故初始化dataSource时报错
解决:在test文件中添加@Configuration(java包下的类)

3、默认加载多数据源,初始化时系统无法选择

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'db1DataSource' defined in class path resource [com/example/JdbcDemo/JdbcDataSourceConfig.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker': Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'org.springframework.boot.autoconfigure.jdbc.DataSourceProperties' available: expected single matching bean but found 3: db1DataSourceProperties,db2DataSourceProperties,spring.datasource-org.springframework.boot.autoconfigure.jdbc.DataSourceProperties

需求:多数据源配置
方案:在application.properties文件中配置多数据源,并在java包下创建configuration,在test中测试
问题:context初始化时,会加载所有标志了bean的类,当注入dataSource时,系统发现有多个默认实现,无法选择
解决:①、在自定义的数据源上选择一个默认的@Primary
②、排除掉系统默认加载@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class})

4、新建项目SpringBootApplication无法引入的问题

解决方法一:

检查新项目的 pom.xml 中定义的 version 是否和旧项目不同。改成和旧项目保持一致之后,刷新项目,可解决问题。

 org.springframework.bootspring-boot-starter-parent2.0.3.RELEASE

解决方法二:
是springboot的包冲突了所致。需要删掉 repository\org\springframework\boot 目录下的spring-boot-autoconfigure 文件夹即可,然后在工程中maven -> update project即可

注:个人倾向第一种,第二种虽然获取最新版本,但不稳定,或许出现更多问题,例如下面这个问题。

5、运行具体某一个包含main() 方法的类时候出现java.lang. NoClassDefFoundError:

分析:根据上面的相关信息,基本上可以判断该问题是找不对相关类,即找不到 ListableBeanFactory 类。ListableBeanFactory 类位于 spring-bean 中的jar包。在一些低版本的 spring 框架中,可能不存在该jar包,升级相关jar包即可。
解决方案:另外我发现在 spring-boot 的1.5.9 版本中会报该错误。而使用 spring-boot-starter-parent1.5.8.RELEASE 启动则无任何问题。遇到该问题可以在相关jar包中查看是否有这个类,如果没有则升级 jar 包。或者降级相应的 jar 文件。
即:找到稳定版本使用即可


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部