2017-10-17 2 views
0

Ich versuche, eine Spring-Boot-Anwendung auszuführen, die von jemand anderem gemacht wird. Ich habe versucht, meine lokale Datenbank an die Anwendung anzufügen, aber wenn ich das ausführe, gibt es den folgenden Fehler;Spring Boot Bean Ausnahme: kann nicht ermitteln, eingebettete Datenbank Treiberklasse für Datenbanktyp Keine

org.springframework.beans.factory.BeanCreationException: Fehler beim Erstellen Bean mit name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Die Injektion von autowired Abhängigkeiten fehlgeschlagen; verschachtelte Ausnahme ist org.springframework.beans.factory.BeanCreationException: Feld konnte nicht autowire: private javax.sql.DataSource org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.dataSource; Verschachtelte Ausnahme ist org.springframework.beans.factory.BeanCreationException: Fehler beim Erstellen der Bean mit dem Namen 'dataSource' in der Klassenpfadressource [org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration $ NonEmbeddedConfiguration.class]: Die Bean-Instanziierung über die Factory-Methode ist fehlgeschlagen ; verschachtelte Ausnahme ist org.springframework.beans.BeanInstantiationException: Fehler beim Instanziieren [javax.sql.DataSource]: Factory-Methode 'dataSource' hat Ausnahme ausgelöst; Die verschachtelte Ausnahme ist org.springframework.boot.autoconfigure.jdbc.DataSourceProperties $ DataSourceBeanCreationException: Die Klasse der eingebetteten Datenbanktreiber für den Datenbanktyp NONE kann nicht ermittelt werden. Wenn Sie eine eingebettete Datenbank wünschen, legen Sie eine unterstützte Datenbank auf den Klassenpfad. Wenn Sie Datenbankeinstellungen aus einem bestimmten Profil laden möchten, müssen Sie diese möglicherweise aktivieren (derzeit sind keine Profile aktiv).

Ich bin neu und ich kann nicht herausfinden, was das Problem ist. Einige Details:

wo xxx = Name der Datenbank.

Workbench:

Name: Local instance wampmysqld64 
Host: localhost 
Port: 3306 
Server: MySQL Community Server (GPL) 
Version: 5.7.18-log 
Connector: C++ 1.1.4 
Login User: root 
Current User: [email protected] 
SSL: Disabled 

und der Server ist und läuft.

EDIT

pom.xml

<project> 

<modelVersion>4.0.0</modelVersion> 

<groupId>****</groupId> 
<artifactId>****</artifactId> 
<version>0.0.1-SNAPSHOT</version> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.3.6.RELEASE</version> 
</parent> 

<dependencies> 
    <dependency> 
     <groupId>org.modelmapper</groupId> 
     <artifactId>modelmapper</artifactId> 
     <version>1.1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-rest</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency> 
     <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
    </dependency> 
</dependencies> 

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

</project> 

EDIT2

Application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/xxx 
spring.datasource.username=root 
spring.datasource.password=root 

spring.jpa.hibernate.ddl-auto=update 
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLDialect 
spring.jpa.properties.hibernate.id.new_generator_mappings = false 
spring.jpa.properties.hibernate.format_sql = true 
logging.level.org.hibernate.SQL=DEBUG 
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE 

ng.level.org.hibernate.type.descriptor.sql.BasicBinder = TRACE

Application.java

package gdprserver; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration; 
import org.springframework.boot.builder.SpringApplicationBuilder; 
import org.springframework.boot.context.web.SpringBootServletInitializer; 
import org.springframework.context.annotation.Bean; 

@SpringBootApplication(exclude = RepositoryRestMvcAutoConfiguration.class) 
public class Application extends SpringBootServletInitializer { 
    @Override 
    protected SpringApplicationBuilder configure(final SpringApplicationBuilder application) { 
     return application.sources(Application.class); 
    } 

    public static void main(final String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 

    @Bean 
    public ModelMapper modelMapper() { 
     return new ModelMapper(); 
    } 
} 

EDIT3

ich den Frühling Boot-Anwendung laufen mit CMD mit dem Befehl: java -jar xxx.jar

+1

Sie sicher, dass Ihre 'application.properties' Datei auf Classpath (idealerweise an der' src/main/resources'? Zeigen auch Ihre '@ SpringBootApplication' Klasse –

+0

Die application.properties bei' src/main/resources liegt 'yes. – Klyner

+0

Nein Spring-Boot-Starter-jdbc oder Spring-Boot-Starter-Daten-jpa? –

Antwort

0

Ich habe eine Lösung gefunden, um meine Anwendung mit Eclipse auszuführen.

Bevor ich versuchte, meine Anwendung mit Java-Anwendung -> SpringApplication mit der Hauptklasse auszuführen: org.springframework.boot.SpringApplication. Das Ändern der Hauptklasse in xxx.Application (wobei xxx der Projektname ist) funktioniert.

0

Die Ausnahme "kann eingebettete da nicht bestimmen Tabase-Treiberklasse für den Datenbanktyp NONE. " wird dadurch verursacht, dass Spring die Eigenschaften, die die Datenbank definieren, nicht finden kann. Es sagt uns, dass es nicht die notwendigen Informationen zum Erstellen/Konfigurieren der Datenquelle hat.

Es ist möglich, dass es sich um ein IDE-Problem handelt. Bauen Sie Ihr Glas mit Maven und versuchen Sie es auszuführen. Wenn Sie die gleiche Ausnahme erhalten, öffnen Sie das Glas und schauen Sie hinein, um sicherzustellen, dass es korrekt hinzugefügt wird.

0
package com.fyakuthibernatespringboot.demo; 


@SpringBootApplication 
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) 
public class DemoApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(DemoApplication.class, args); 
    } 
} 
Verwandte Themen