ERROR 2384 --- [ main] o.s.boot.SpringApplication : Application run failed

本文解决了一个常见的SpringBoot应用中数据库建表时出现的错误:在启动时遇到PersistenceException异常,提示无法确定List类型。通过排除特定的自动配置类,成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot数据库建表运行后报错:ERROR 2384 — [ main] o.s.boot.SpringApplication : Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory’ defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not determine type for: java.util.List, at table: area_table, for columns: [org.hibernate.mapping.Column(son_area)]
一大堆 这么长
在这里插入图片描述
网上搜索若干条都试了一遍还是报这条错误

最后我的解决方法是:

1.打开你的MainApplication.java
2.找到@SpringBootApplication
3.将其改为:@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
排除其注入

### Spring Boot 应用启动失败的原因分析 当遇到 `Spring Boot` 应用启动失败的问题时,可能涉及多种原因。以下是常见的几种情况及其解决方案: #### 1. 配置错误 如果配置文件中的属性设置不正确或者缺失必要的依赖项,则可能导致应用无法正常启动。例如,在某些场景下需要显式指定 JVM 参数来加载系统变量。 可以通过以下方式传递自定义的 JVM 参数: ```bash mvn spring-boot:run -Dspring.boot.run.jvmArguments="-Dsys1=system1 -Dsys2=system2" ``` 上述命令可以有效解决因缺少环境变量而导致的应用启动异常[^2]。 #### 2.位置不当 确保主应用程序位于其他组件所在的顶层包之外。这是为了避免扫描不到所需的 Bean 或者配置的情况发生。推荐的做法如下所示: ```java package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 此结构有助于框架自动发现并注册所有的必要组件[^1]。 #### 3. 外部库兼容性问题 有时第三方库版本冲突也会引发似的错误码 (如提到的 `error 11084`) 。比如使用 Timefold Solver 进行优化计算时如果没有合理调整终止条件可能会触发超时等问题。 可以在项目的资源目录下的 application.properties 文件里加入似这样的设定以控制求解器运行时间长度从而规避潜在的风险: ```properties timefold.solver.termination.spent-limit=5s ``` 这里将最大允许耗时设为了五秒钟作为演示用途;实际部署环境中议延长该时限以便获得更优的结果质量[^3]。 #### 综合排查思路总结 对于特定编码数值所代的具体含义往往缺乏公开文档说明因此很难直接定位确切成因。但从以上几个方面入手通常能够覆盖大部分常规状况下的调试需求。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值