为什么smartJ IDEA依赖范围是“提供”而不是“编译”?

时间:2017-02-24 16:13:15

标签: java intellij-idea gradle

我希望IntelliJ IDEA将我的库作为“编译”范围而不是“提供”范围。这是我的gradle文件的一部分:

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    // Logging
    compile 'ch.qos.logback:logback-classic:1.2.1'
    compile 'com.getsentry.raven:raven-logback:7.8.2'

    // BigQuery
    compile 'com.google.api-client:google-api-client:1.20.0'
    compile 'com.google.apis:google-api-services-bigquery:v2-rev227-1.20.0'

    // Configuration management
    compile 'commons-configuration:commons-configuration:1.10'

    //Json
    compile 'org.json:json:20160810'

    //Kafka
    compile "org.apache.kafka:kafka-clients:0.10.1.1"

    testCompile group: 'junit', name: 'junit', version: '4.12'
    testCompile 'org.assertj:assertj-core:3.0.0'
    testCompile 'org.mockito:mockito-all:1.10.19'
}

task wrapper(type: Wrapper) {
    gradleVersion = '3.4'
}

范围总是在依赖选项卡中恢复为“提供”,这非常烦人:

enter image description here

我正在跑步: IntelliJ IDEA 2016.3.4 Build#IC-163.12024.16,建于2017年1月31日 JRE:1.8.0_112-release-408-b6 x86_64

1 个答案:

答案 0 :(得分:15)

这是IntelliJ IDEA中已知的一个特定于Gradle 3.4的问题:

它已在2017.1 EAP build中修复。

在IDEA 2017.1发布之前,您可以使用Gradle 3.3或更早版本作为解决方法。