2017-11-22 6 views
1

스프링 부트 응용 프로그램을 실행하는 동안 예외가 발생합니다. 데이터 소스의 bean을 만들 수 없으며이 예외로 인해 DriverClass가 감지되지 않습니다. SQLServer 용.드라이버 클래스를로드 할 수 없습니다. com.microsoft.jdbc.sqlserver.SQLServerDriver

spring.jpa.database-platform=org.hibernate.dialect.SQLServerDialect 
spring.jpa.hibernate.ddl-auto=update 
spring.datasource.driverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver 
spring.datasource.url=jdbc:sqlserver://localhost;databaseName=dbname 
spring.datasource.username=name 
spring.datasource.password=**** 

I 다운로드 한 그 sqljdbc 커넥터 항아리와 lib 폴더에 넣어 내 pom.xml 파일에서의 참조를 제공합니다 :

여기 내 application.properties 파일입니다.

<?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>com.myproject</groupId> 
<artifactId>myproject-notifications</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>jar</packaging> 

<name>netpace-notifications</name> 
<description>Demo project for Spring Boot</description> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.8.RELEASE</version> 
    <relativePath /> <!-- lookup parent from repository --> 
</parent> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    <java.version>1.8</java.version> 
</properties> 

<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-web</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-dbcp2</artifactId> 
      <version>2.1.1</version> 

     </dependency> 
     <dependency> 
      <groupId>com.microsoft.sqlserver</groupId> 
      <artifactId>sqljdbc4</artifactId> 
      <version>4.0</version> 
      <scope>system</scope> 
      <systemPath>${project.basedir}/lib/sqljdbc4-2.0.jar</systemPath> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 


</project> 

나는이 태그를 사용하여 시도 :

<dependency> 
     <groupId>com.microsoft.sqlserver</groupId> 
     <artifactId>sqljdbc4</artifactId> 
     <version>4.0</version> 
    </dependency> 

을하지만 내 pom.xml 파일에 오류를주고 내가 다른 접근 방식을 사용하는 이유 있도록. 나는 봄에 새롭고 누군가 내가 내가 여기서 잘못하고있는 것을 알려주면 매우 감사 할 것이다. 미리 감사드립니다.

+0

당신은 게시 할 수있는 예외 메시지 당신의 오류 ???? 나는 그것이 올바른 패키지 이름을 지정하지 않은 –

+0

'com.microsoft.sqlserver.jdbc을. .SQLServerDriver 'inst 'com.microsoft.jdbc.sqlserver.SQLServerDriver'로 변경하십시오. – ivoruJavaBoy

답변

0

시스템에 항아리가 있습니까? maven이 시스템으로부터 의존성을 얻도록 강요하고 있다면, 그 경로에 없다면 maven은 실패 할 것이다. 당신은이에 태그를 대체 할 수

<dependency> 
    <groupId>com.microsoft</groupId> 
    <artifactId>sqljdbc4</artifactId> 
    <version>3.0</version> 
</dependency> 

출처 : 당신은 잘못된 드라이버를로드하려고 https://mvnrepository.com/artifact/com.microsoft/sqljdbc4/3.0

+0

은 무엇 점점 –

+0

아주 오래된 드라이버입니다. –

1

. com.microsoft.jdbc.sqlserver.SQLServerDriver이라는 이름의 드라이버는 아주 오래된 SQL Server 2000 JDBC 드라이버의 드라이버입니다. ..는 SQL Server 2005 JDBC 드라이버에서

, 마이크로 소프트 ( sqlserverjdbc 사이의 질서의 스위치를주의

사이드 노트 com.microsoft.sqlserver.jdbc.SQLServerDriver이 변경 : 당신이 드라이버의 이전 버전을 사용하고있는 마이크로 소프트가 열려있다 기가 된 SQL Server JDBC driver과 같이 받는다는 볼 수는 :

<dependency> 
    <groupId>com.microsoft.sqlserver</groupId> 
    <artifactId>mssql-jdbc</artifactId> 
    <version>6.2.2.jre8</version> 
</dependency>