2017-07-28 113 views
0

我想問我是否需要在使用eclipse和spring boot時指定我的SQL文件的路徑?我給出了相同的錯誤Cannot determine embedded database driver class for database type NONE。我相信所有的設置都是正確的,但問題是我從來沒有告訴日食我的數據庫在哪裏?手動連接mySQL到eclipse/Spring Boot

我有一個屬性文件,國家這樣的:

spring.jpa.hibernate.ddl-auto=create-drop 
spring.datasource.url=jdbc:mysql://localhost:3306/db_example 
spring.datasource.username=springuser 
spring.datasource.password=ThePassword 
spring.datasource.driverClassName=com.mysql.jdbc.Driver 
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect 

這是爲它找到一個db_example方式,它應該以某種方式上網,當我開始我的項目?當我去localhost:3306它也顯示一個錯誤。我在2天內無法解決這個問題,並且對編程來說很新穎,所以請耐心等待!

依賴條件(包括HikariCP)

<?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>io.msela</groupId> 
    <artifactId>course-api-data</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>course-api-data</name> 
    <description>Course API with Spring Data</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.4.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>com.zaxxer</groupId> 
     <artifactId>HikariCP</artifactId> 
    </dependency> 



     <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</groupId> 
      <artifactId>spring-orm</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
     </dependency> 

     <!-- <dependency> 
      <groupId>org.apache.derby</groupId> 
      <artifactId>derby</artifactId> 
      <scope>runtime</scope> 
     </dependency> --> 


     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

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


</project> 

編輯1

我得到這樣的警告也:

2017-07-28 11:05:35.957 WARN 9576 --- [   main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active). 

EDIT 2 我路上的截圖

EDIT 3

移動文件夾之後該錯誤消息是以下各項:

2017-07-28 11:40:20.348 WARN 10944 --- [   main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.jdbc.Driver 
+0

正如你的其他問題所述,你需要包含一個'DataSource'實現。你還沒有提供...添加像[HikariCP](https://github.com/brettwooldridge/HikariCP)作爲依賴項。 –

+0

您是否在Maven/Gradle中添加了mySQL連接器依賴項? – davidxxx

+0

我添加了HiakriCP並添加了mySQL,問題仍然存在! – Asker

回答

2

我沒有看到你的application.properties在資源文件夾。相反,您的application.properties處於測試環境中。我不會那樣工作。

+0

哦,天啊,所以這是問題!但是現在它顯示了一堆錯誤,而不是之前的錯誤,稱它無法加載驅動程序:/ – Asker

+1

什麼是錯誤信息? –

+0

但我假設你糾正了:spring.datasource.driverClassName = com.mysql.jdbc.Driver正如其他用戶指出的那樣? –

1

請變更spring.datasource.driverClassName=com.mysql.jdbc.Driverspring.datasource.driver-class-name=com.mysql.jdbc.Driver。 你最終數據庫的配置可能是這樣的:

spring.jpa.hibernate.ddl-auto=create-drop 
spring.jpa.database-platform = org.hibernate.dialect.MySQLDialect 
spring.datasource.url=jdbc:mysql://localhost:3306/db_example 
spring.datasource.username=springuser 
spring.datasource.password=ThePassword 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 

也請更新您的pom.xml文件dependencies到這一點,並在Eclipse運行maven update

<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>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
+0

我改變了這個,並得到相同的錯誤:/ – Asker

+0

你能否更新依賴關係並運行配置文件上面的maven更新 –

+0

這樣做還是一樣的錯誤。應該添加到我的應用程序?目前,我有這樣的: @SpringBootApplication @ComponentScan({ 「io.msela」}) @EntityScan( 「io.msela.springbootstarter」) @EnableJpaRepositories(basePackageClasses = EmployeeRepository.class) – Asker