【问题标题】:Error after adding spring-data-jpa into gradle file?将 spring-data-jpa 添加到 gradle 文件后出错?
【发布时间】:2019-05-23 07:16:19
【问题描述】:

我的 gradle 文件中有这个依赖项。

dependencies {
implementation('org.springframework.boot:spring-boot-starter-actuator')
implementation('org.springframework.boot:spring-boot-starter-web')
implementation('org.springframework.cloud:spring-cloud-starter-sleuth')
implementation('org.springframework.cloud:spring-cloud-starter-zipkin')
implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
implementation group: 'ch.qos.logback.contrib', name: 'logback-json-classic', version: '0.1.5'
implementation group: 'ch.qos.logback.contrib', name: 'logback-jackson', version: '0.1.5'
implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.24'
implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
implementation group: 'com.oracle', name: 'ojdbc', version: '6.0'
compileOnly('org.projectlombok:lombok')
testImplementation('org.springframework.boot:spring-boot-starter-test')
integrationTestCompile('org.springframework.boot:spring-boot-starter-test')
integrationTestCompile group: 'com.github.tomakehurst', name: 'wiremock', version: '2.1.6'
integrationTestCompile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
integrationTestCompile group: 'ch.qos.logback.contrib', name: 'logback-json-classic', version: '0.1.5'
integrationTestCompile group: 'ch.qos.logback.contrib', name: 'logback-jackson', version: '0.1.5'
integrationTestCompile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'}

但是添加后:

实现(“org.springframework.boot:spring-boot-starter-data-jpa”)

应用程序没有启动。

我的整个 gradle 文件是:

buildscript {
	ext {
		springBootVersion = '2.0.7.RELEASE'
	}
	repositories {
		mavenCentral()
	}
	dependencies {
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
	}
}

plugins {
	id "org.sonarqube" version "2.5"
	id "io.franzbecker.gradle-lombok" version "1.14"
}

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

group = 'com.doruk'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {

	maven {
		url "http://nexus.internal/repository/maven-public/"
	}

	maven {
		url "http://nexus.internal/repository/maven-snapshots/"
	}

	maven {
		url "http://nexus.internal/repository/maven-releases/"
	}
	mavenCentral()
	jcenter()
}

ext {
	springCloudVersion = 'Finchley.SR2'
}

configurations {
	integrationTestCompile.extendsFrom testCompile
	integrationTestRuntime.extendsFrom testRuntime
}

dependencies {
	implementation('org.springframework.boot:spring-boot-starter-actuator')
	implementation('org.springframework.boot:spring-boot-starter-web')
	implementation("org.springframework.boot:spring-boot-starter-data-jpa")
	implementation('org.springframework.cloud:spring-cloud-starter-sleuth')
	implementation('org.springframework.cloud:spring-cloud-starter-zipkin')
	implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
	implementation group: 'ch.qos.logback.contrib', name: 'logback-json-classic', version: '0.1.5'
	implementation group: 'ch.qos.logback.contrib', name: 'logback-jackson', version: '0.1.5'
	implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.24'
	implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'
	implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
	implementation group: 'com.oracle', name: 'ojdbc', version: '6.0'
	compileOnly('org.projectlombok:lombok')
	testImplementation('org.springframework.boot:spring-boot-starter-test')
	integrationTestCompile('org.springframework.boot:spring-boot-starter-test')
	integrationTestCompile group: 'com.github.tomakehurst', name: 'wiremock', version: '2.1.6'
	integrationTestCompile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
	integrationTestCompile group: 'ch.qos.logback.contrib', name: 'logback-json-classic', version: '0.1.5'
	integrationTestCompile group: 'ch.qos.logback.contrib', name: 'logback-jackson', version: '0.1.5'
	integrationTestCompile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
}

dependencyManagement {
	imports {
		mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
	}
}

sonarqube {
	properties {
		property "sonar.jacoco.itReportPath", "$buildDir/jacoco/integrationTest.exec"
	}
}

sourceSets {
	integrationTest {
		java {
			compileClasspath += main.output + test.output
			runtimeClasspath += main.output + test.output
			srcDir file('src/integration-test/java')
		}
		resources.srcDir file('src/integration-test/resources')
	}
}
sourceSets.main.output.resourcesDir = sourceSets.main.output.classesDir
sourceSets.test.output.resourcesDir = sourceSets.test.output.classesDir
sourceSets.integrationTest.output.resourcesDir = sourceSets.integrationTest.output.classesDir

task integrationTest(type: Test) {
	testClassesDir = sourceSets.integrationTest.output.classesDir
	classpath = sourceSets.integrationTest.runtimeClasspath
}


check.dependsOn integrationTest
integrationTest.mustRunAfter test

bootJar {
	mainClassName = "com.doruk.customer.Main"
}

在没有 spring-boot-starter-jpa 的情况下它可以完美运行,但是如果添加它,当我运行它时会卡在

{"timestamp":"2018-12-24 03:00:31.400","level":"INFO","thread":"main","logger":"com.doruk.customer.Main" ,"message":"未设置活动配置文件,回退到默认配置文件:default","context":"default"}

我尝试添加特定版本的依赖项,例如:

实施组:'org.springframework.boot',名称:'spring-boot-starter-data-jpa',版本:'2.0.7.RELEASE'

它没有用。

我也尝试删除整个 .gradle 文件夹,然后重新下载。

应用程序从关系中获取依赖项。

我该如何解决?

【问题讨论】:

    标签: spring-boot gradle spring-data-jpa


    【解决方案1】:

    您必须只有一个依赖项。我注意到您已添加该依赖项。

    dependencies {
        implementation('org.springframework.boot:spring-boot-starter-actuator')
        implementation('org.springframework.boot:spring-boot-starter-web')
        implementation("org.springframework.boot:spring-boot-starter-data-jpa") //here
    

    那么你不应该再添加它。

    【讨论】:

    • 我没有两次添加该依赖项,我的整个 gradle 帖子给了我错误。如果我提取 implementation('org.springframework.boot:spring-boot-starter-web') 它运行。
    • 好的,我会更新我的答案,你为什么需要那个依赖?
    • 我用于创建实体,这是持久化api中必要的注释
    • 当然!但是为什么要使用 Android OS 项目中使用的保留字实现呢?
    • 但是,即使我没有向我的项目添加代码。它没有启动,当我在 gradle 中添加 jpa 依赖项时它卡在启动时。我的意思是我目前没有使用 jpa。
    猜你喜欢
    • 2018-09-27
    • 2017-03-19
    • 2015-12-28
    • 2016-07-10
    • 2015-07-14
    • 2012-08-06
    • 2021-02-09
    相关资源
    最近更新 更多