我有一个spring引导项目,在这个项目中,我尝试连接到我刚刚创建的一个azure数据库。我第一次尝试它的时候,我是在com.microsoft.sqlserver groupId下使用它,每次我试图启动它时,我都有安全错误,在谷歌上搜索,我发现它是通过使用6+版本来修复的。然后我安装了它并设置了依赖项
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>slqjdbc6</artifactId>
<version>6.2.1</version>
</dependency>现在我不再有这个错误了,但是我使用org.springframework.beans.factory.UnsatisfiedDependencyException:错误创建了名为'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration':的bean,通过构造器参数0表示了不满意的依赖关系;嵌套的异常是通过工厂方法创建类路径资源org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class: bean实例化中定义的名为'dataSource‘的Bean的org.springframework.beans.factory.BeanCreationException:错误;嵌套异常是org.springframework.beans.BeanInstantiationException:未能实例化org.apache.tomcat.jdbc.pool.DataSource:工厂方法'dataSource‘抛出的异常;嵌套异常为java.lang.IllegalStateException:无法加载驱动程序类: com.microsoft.sqlserver.jdbc.SQLServerDriver
依赖关系
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>slqjdbc6</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>application.properties
spring.h2.console.enabled=true
spring.h2.console.path=/console
spring.datasource.platform=h2
# production profile
spring.datasource.url=jdbc:sqlserver://spring-boot-intro.database.windows.net:1433;database=spring-boot-intro;user=fabio@spring-boot-intro;password=*my password*;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
spring.datasource.username=fabio
spring.datasource.password=*my password*
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
# crud
spring.jpa.hibernate.ddl-auto=create-dropslqjdbc6在.m2存储库中的应用
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\maven-metadata-local.xml
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6\_remote.repositories
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6\slqjdbc6-6.2.1.jar
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6\slqjdbc6-6.2.1.pom发布于 2017-08-07 17:35:11
你把那个驱动器安装到哪里了?Server驱动程序在公共Maven存储库中不可用,因此,除非您有一个私有的maven存储库(您已经将其添加到其中),否则pom.xml中的依赖项(包括它)不会在运行时导致jdbc驱动程序可用。
如果您没有一个私有/公司的maven存储库来添加JDBC驱动程序,我建议在源代码中添加jar文件,并使用filesystem存储库来引用该文件。
有关如何创建这样一个存储库Maven: add a dependency to a jar by relative path的其他详细信息,您可以参考这个答案。
发布于 2017-08-08 08:37:20
尝试解决问题的两种方法。
Download Microsoft JDBC Driver for SQL Server的Download Microsoft JDBC Driver for SQL Server部分,将mssql-jdbc驱动程序依赖项添加到pom.xml文件中,并通过Maven Central安装它。mvn install:install-file -Dfile=mssql-jdbc-6.2.1.jre8.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=mssqljdbc6 -Dversion=6.2.1,手动将maven依赖项安装到本地maven路径,并将下面的依赖项内容添加到pom.xml中。
com.microsoft.sqlserver mssqljdbc6 6.2.1希望能帮上忙。
发布于 2019-04-03 23:31:24
试着改变
spring.datasource.platform=h2至
spring.datasource.platform=mssqlhttps://stackoverflow.com/questions/45549648
复制相似问题