簡體   English   中英

Gradle:解決后無法更改配置“:compile”的依賴項

[英]Gradle: Cannot change dependencies of configuration ':compile' after it has been resolved

我將 Netbeans 8.0.2 與 Gradle Support 插件 1.3.8 一起使用。

我添加了一個任務來生成 uber-Jar,同時排除了一些簽名文件,但是當我運行該任務時,它在第 38 行( compile group行)顯示錯誤,如下所示:

apply plugin: 'java'
apply plugin: 'application'

mainClassName = 'br.com.myproject.Sample'
sourceCompatibility = '1.8'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
version='1.0.0'

// For DEBUG to work
ext.mainClass = mainClassName

task uniqueJar(type: Jar) {
    baseName = project.name

    from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {
        exclude "META-INF/*.SF"
        exclude "META-INF/*.DSA"
        exclude "META-INF/*.RSA"
    }

    manifest {
        attributes 'Implementation-Title': project.name,  
                'Implementation-Version': version,
                'Main-Class': mainClassName
    }
    with jar
}

repositories {
    mavenCentral()
    // You may define additional repositories, or even remove "mavenCentral()".
    // Read more about repositories here:
    //   http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:repositories
}

dependencies {
    // https://mvnrepository.com/artifact/org.eclipse.paho/org.eclipse.paho.client.mqttv3
    compile group: 'org.eclipse.paho', name: 'org.eclipse.paho.client.mqttv3', version: '1.1.1' // line 38


    testCompile group: 'junit', name: 'junit', version: '4.10'
}

錯誤信息:

執行:gradle unique Jar 參數:[uniqueJar, -c, D:\\NetBeansProjects\\testeMqtt\\settings.gradle]

FAILURE:構建失敗,出現異常。

  • 其中:構建文件 'D:\\NetBeansProjects\\testeMqtt\\build.gradle' 行:38

  • 出了什么問題:評估根項目“testeMqtt”時出現問題。

    解決后無法更改配置“:compile”的依賴項。

  • 嘗試:使用 --stacktrace 選項運行以獲取堆棧跟蹤。 使用 --info 或 --debug 選項運行以獲得更多日志輸出。

構建失敗

總時間:0.102秒

如何修復 uber-Jar 任務?

使用Shadow gradle 插件生成 uber-Jars 解決了我的問題:

apply plugin: 'java'
apply plugin: 'application'

mainClassName = 'br.com.myproject.Sample'
sourceCompatibility = '1.8'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
version='1.0.0'

// For DEBUG to work
ext.mainClass = mainClassName

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.1'
    testCompile group: 'junit', name: 'junit', version: '4.10'
}

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.4'
    }
}

apply plugin: 'com.github.johnrengelman.shadow'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM