使用Hibernate应用程序的java Spring启动失败
当我启动Spring Boot应用程序时,我发现:
2020-11-11 03:02:24.333警告20648---[main]ConfigServletWebServerApplicationContext:上下文初始化期间遇到异常-取消刷新尝试:org。springframework。豆。工厂UnsatifiedPendencyException:创建名为“org”的bean时出错。springframework。靴子自动配置。奥姆。jpa。HibernateJpacConfiguration”:通过构造函数参数0表示的未满足的依赖项;嵌套的异常是org。springframework。豆。工厂BeanCreationException:创建在类路径资源[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]中定义的名为“dataSource”的bean时出错:通过工厂方法实例化bean失败;嵌套的异常是org。springframework。豆。BeanInstationException:未能实例化[com.zaxxer.hikari.HikariDataSource]:工厂方法“dataSource”引发异常;嵌套的异常是org。springframework。靴子自动配置。jdbc。DataSourceProperties$DataSourceBeanCreationException:无法确定合适的驱动程序类 2020-11-11 03:02:24.335信息20648---[main]阿帕奇。卡塔琳娜。果心标准服务:停止服务[Tomcat] 2020-11-11 03:02:24.486信息20648---[main]条件评估报告日志监听器:
启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。 2020-11-11 03:02:24.489错误20648---[main]o.s.b.d.记录故障分析报告员:
应用程序无法启动
说明:
配置数据源失败:未指定“url”属性,无法配置嵌入式数据源
原因:无法确定合适的驱动程序类别
行动:
考虑如下: 如果您想要一个嵌入式数据库(H2、HSQL或Derby),请将其放在类路径上。 如果要从特定配置文件加载数据库设置,则可能需要激活它(当前没有激活的配置文件)
我的pom。xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>groupId</groupId>
<artifactId>Netcracker-teamproject-2020</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.3.5.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.3.5.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.5.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>9.1.0.jre11-preview</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>9.0.10</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.23.1-GA</version>
</dependency>
</dependencies>
</project>
你能告诉我我该怎么做才能解决这个问题吗
# 1 楼答案
我最终解决了这个问题,只需添加
到Spring引导应用程序。性质
# 2 楼答案
这可能是由多种原因造成的。在您的例子中,我看到您选择了JDBC连接“
<artifactId>mssql-jdbc</artifactId>
”,而不是Hikara连接池Spring boot 2+默认使用HikaraCP。因此,HikariCp的依赖关系位于“由spring自动配置调用”的类路径上。要解决这个问题,您可以尝试排除Hikari数据源,方法是将以下内容添加到pom中。xml
解决方案2是不使用JDBC“数据源类型”,而是使用Hikara。Hikari配置道具示例
# 3 楼答案
我的配置文件:
# 4 楼答案
只需使用应用程序。用于设置数据源url的属性文件