Intellij IDEA无法解决Gradle依赖关系

时间:2017-09-25 14:23:26

标签: java spring-boot intellij-idea gradle

我正在使用Intellij IDEA 2017.2.4Gradle 4.0.1 我有很少的Spring Boot服务。我遇到了运行它们的问题,由于缺少依赖性,它们可能会以随机方式启动时失败。

我有一个build.gradle的父项目:

buildscript {
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
        maven { url "https://plugins.gradle.org/m2/" }
        mavenLocal()
    }

    dependencies {
        classpath("io.spring.gradle:dependency-management-plugin:$dependencyManagementPluginVersion")
        classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
    }
}

allprojects {
    apply plugin: 'java'
    apply plugin: 'idea'

    group = '***'
    version = '***'
}

subprojects {
    sourceCompatibility = 1.8
    targetCompatibility = 1.8

    processResources {
        filesMatching('**/*.yml') {
            expand(project.properties)
        }
    }

    apply plugin: 'io.spring.dependency-management'

    dependencyManagement {

        imports {
            mavenBom("org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion")
            mavenBom("org.springframework.boot:spring-boot-dependencies:$springBootVersion")
        }

        dependencies {
            dependency "com.google.cloud:google-cloud-storage:$googleCloudStorageVersion"
            ...
            dependency "org.junit.jupiter:junit-jupiter-api:$junitVersion"
        }
    }
}

一个子项目build.gradle

apply plugin: 'org.springframework.boot'

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

dependencies {
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    ...
    testCompile('com.h2database:h2')
}

在某些情况下,在其他lombok依赖项中会遗漏javax依赖项。它表明依赖关系不存在。

enter image description here

但是在我按下Refresh All Gradle Projects并再次构建后,它可以正常工作。

enter image description here

也许有人遇到了同样的问题并且有一些解决方案吗?

1 个答案:

答案 0 :(得分:0)

您似乎遇到lombok依赖问题。第一步是确保将lombok添加为编译时依赖项,例如:

repositories {
    mavenCentral()
}

dependencies {
    compileOnly 'org.projectlombok:lombok:1.16.18'
}

第二步是确保在Intellij上安装了最新的lombok插件。当您尝试在IDE中编译项目时,这非常重要。另一件可能有用的事情是在Intellij配置中设置自动更新依赖项。