You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ IDEA中Spring Boot项目启动失败:数据源与Profile配置问题

Spring Boot项目启动失败问题排查与解决

问题场景

开发小型Spring Boot入门项目,在IntelliJ IDEA中启动时失败,存在Spring Boot Profile配置错误,核心报错为数据源配置异常。

启动命令及依赖类路径

C:\Users\admin\.jdks\openjdk-18.0.1.1\bin\java.exe -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.2\lib\idea_rt.jar=63246:C:\Program Files\JetBrains\IntelliJ IDEA 2022.2\bin" -Dfile.encoding=UTF-8 -classpath C:\java\3.1.1\target\classes;C:\Users\admin\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\2.7.0\spring-boot-starter-data-jpa-2.7.0.jar;[省略部分依赖路径] spring_boot.Application

启动日志

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.0)

2022-07-30 16:56:07.556  INFO 12568 --- [           main] spring_boot.Application                  : 正在DESKTOP-AAKSGJM上使用Java 18.0.1.1启动Application,PID为12568(由admin在C:\java\3.1.1中启动C:\java\3.1.1\target\classes)
2022-07-30 16:56:07.562  INFO 12568 --- [           main] spring_boot.Application                  : 未设置激活的Profile,回退到1个默认Profile: "default"
2022-07-30 16:56:09.291  INFO 12568 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : 在DEFAULT模式下引导Spring Data JPA仓库。
2022-07-30 16:56:09.420  INFO 12568 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Spring Data仓库扫描完成,耗时111毫秒。找到2个JPA仓库接口。
2022-07-30 16:56:11.599  INFO 12568 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat已初始化,端口为: 8080 (http)
2022-07-30 16:56:11.628  INFO 12568 --- [           main] o.apache.catalina.core.StandardService   : 正在启动服务 [Tomcat]
2022-07-30 16:56:11.629  INFO 12568 --- [           main] org.apache.catalina.core.StandardEngine  : 正在启动Servlet引擎: [Apache Tomcat/9.0.63]
2022-07-30 16:56:12.105  INFO 12568 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : 正在初始化Spring嵌入式WebApplicationContext
2022-07-30 16:56:12.105  INFO 12568 --- [           main] w.s.c.ServletWebServerApplicationContext : 根WebApplicationContext初始化完成,耗时4389毫秒
2022-07-30 16:56:12.189  WARN 12568 --- [           main] ConfigServletWebServerApplicationContext : 上下文初始化期间遇到异常 - 取消刷新尝试: org.springframework.beans.factory.UnsatisfiedDependencyException: 创建类路径资源[org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]中定义的名为'dataSourceScriptDatabaseInitializer'的Bean时出错: 通过方法'dataSourceScriptDatabaseInitializer'参数0表达的依赖不满足;嵌套异常为org.springframework.beans.factory.BeanCreationException: 创建类路径资源[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]中定义的名为'dataSource'的Bean时出错: 通过工厂方法实例化Bean失败;嵌套异常为org.springframework.beans.BeanInstantiationException: 无法实例化[com.zaxxer.hikari.HikariDataSource]: 工厂方法'dataSource'抛出异常;嵌套异常为org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: 无法确定合适的驱动类
2022-07-30 16:56:12.192  INFO 12568 --- [           main] o.apache.catalina.core.StandardService   : 正在停止服务 [Tomcat]
2022-07-30 16:56:12.220  INFO 12568 --- [           main] ConditionEvaluationReportLoggingListener : 

ApplicationContext启动错误。要显示条件报告,请启用'debug'重新运行应用。
2022-07-30 16:56:12.250 ERROR 12568 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

错误详情


应用启动失败


描述:
无法配置DataSource: 未指定'url'属性,且无法配置嵌入式数据源。

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

官方建议:

请考虑以下方案:
    如果您需要嵌入式数据库(H2、HSQL或Derby),请将其添加到类路径中。
    如果您的数据库设置需要从特定Profile加载,您可能需要激活该Profile(当前无激活的Profile)。

进程已结束,退出代码为1

解决方案

1. 激活指定Profile

如果数据库配置放在特定Profile的配置文件中(比如application-dev.yml/application-dev.properties),需激活对应Profile:

  • 在IDEA的Run Configuration中添加VM参数:-Dspring.profiles.active=dev
  • 或在application.properties中配置:spring.profiles.active=dev

2. 配置数据源依赖或参数

  • 若使用嵌入式数据库,在pom.xml中添加对应依赖:
<!-- H2嵌入式数据库 -->
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>
  • 若使用外部数据库(如MySQL),在激活的Profile配置文件中补充数据源参数:
spring.datasource.url=jdbc:mysql://localhost:3306/your_db
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

内容的提问来源于stack exchange,提问作者Kristina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:09:27