2017-06-09 2 views
0

I Frühjahr Boot bin mit und finden meine gradle Dateiwie Abhängigkeiten von Federverschluß auszuschließen

buildscript { 
    ext { 
     springBootVersion = '2.0.0.BUILD-SNAPSHOT' 
    } 
    repositories { 
     mavenCentral() 
     maven { url "https://repo.spring.io/snapshot" } 
     maven { url "https://repo.spring.io/milestone" } 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") 
    } 
} 

apply plugin: 'java' 
apply plugin: 'eclipse-wtp' 
apply plugin: 'org.springframework.boot' 
apply plugin: 'io.spring.dependency-management' 
apply plugin: 'war' 

version = '0.0.1-SNAPSHOT' 
sourceCompatibility = 1.8 

repositories { 
    mavenCentral() 
    maven { url "https://repo.spring.io/snapshot" } 
    maven { url "https://repo.spring.io/milestone" } 
} 

configurations { 
    providedRuntime 
} 

dependencies { 
    compile('org.springframework.boot:spring-boot-starter-data-jpa:1.2.1.RELEASE') 
    compile('org.springframework.boot:spring-boot-starter-web') 
    compile("com.h2database:h2") 
    providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') 
    testCompile('org.springframework.boot:spring-boot-starter-test') 
} 

während m die folgenden dependecy

org.springframework.boot:spring-boot-starter-data-jpa:1.2.1.RELEASE 

seiner einschließlich Haufen anderer Abhängigkeiten in gradle-Datei hinzufügen wie Hibernate n alles, was ich brauche es nicht für jetzt (wollte nur Frühjahr Daten jpa verwenden), die viele andere Problem verursachen so wie kann ich nur Spring-Data-jpa und die damit verbundene Abhängigkeit nur?

versucht, wie ausschließen = {} HibernateJpaAutoConfiguration.class zu deaktivieren, aber nur spring-data-jpa einschließen würde gut

Thnks im Voraus

+0

"aber gehen does't gut" bedeutet nichts. Bitte erkläre. Und Sie schließen Klassen in Großbuchstaben nicht aus, Sie schließen Gläser aus. –

+0

es fragt mich, Bean für zu definieren Aktion: Erwägen Sie, eine Bean mit dem Namen 'entityManagerFactory' in Ihrer Konfiguration zu definieren. –

+0

Ich meinte: Wenn Sie einen Fehler haben, fügen Sie die Fehlermeldung (und StackTrace) in Ihre Frage, anstatt zu sagen "geht nicht gut". –

Antwort

1

Die einfachste Lösung, die ich denke, sein gehen does't, nicht spring-boot-starter-data-jpa:

compile('org.springframework.data:spring-data-jpa:2.0.0.M2') 

Oder wenn Sie wirklich nach links Starter wollen, als Sie könnten versuchen, so etwas wie zu tun:

compile('org.springframework.boot:spring-boot-starter-data-jpa') { 
    exclude(module: 'hibernate-core') 
    exclude(module: 'hibernate-entitymanager') 
} 

Aber verstehen, um spring-data-jpa Sie einen persistenten Anbieter wie hibernate haben müssen zu bedienen, nur weil spring-data-jpa selbst nichts anderes als eine Abstraktion auf den JPA ist, das wiederum ist eine Abstraktion als auch auf dem persistenten Anbieters wie hibernate oder eclipselink.

aktualisieren

Wenn Sie alle JPA Abhängigkeiten in gradle Build-Skript verlassen wollen, aber nicht wollen, spring-boot sie für eine Weile verwenden, dann müssen Sie auch beide DataSourceAutoConfiguration und HibernateJpaAutoConfiguration deaktivieren.

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) 
+0

Ja, das ist richtig, wir müssen persistente Provider haben, wie @SpringBootApplication auszuschliessen (exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}), aber es fragt mich immer noch: "Erwäge, eine Bean namens 'entityManagerFactory' in deiner Konfiguration zu definieren" . –

+0

Das ist seltsam, bitte versuchen Sie, Ihre Anwendung mit '--debug' Parameter zu starten, dann wird erweiterte Information gedruckt, wo genau diese Bean benötigt wird –

0

Sie müssen diese Konvention befolgen, um Ihre Abhängigkeiten auszuschließen.

compile('org.springframework.boot:spring-boot-starter-data-jpa:1.2.1.RELEASE') { 
    exclude module: 'hibernate-core' 
} 

Ein anderer Weg ist:

configurations { 
    compile.exclude module: 'hibernate-core' 
} 
Verwandte Themen