2016-11-20 3 views
4

После того как я добавил copyBootstrap к build.gradle Я получаю следующую ошибку при попытке запуска сборки задачу:Невозможно изменить зависимости от конфигурации

FAILURE: Строить не удалось с исключением.

  • Что пошло не так:

возникла проблема настройки корневого проекта». Невозможно изменить зависимости конфигурации ': providedCompile' после того, как она включена в разрешение зависимостей.

Как решить эту проблему? Я искал в Интернете, но никаких решений не найдено. Я получил задание copyBootstrap от this link. Их цель состоит в том, чтобы извлечь весь контент из группы org.webjars в конкретный путь.

Я использую Gradle 3.2 и IntelliJ IDEA 2016.2.5

//group 'org' 
//version '1.0-SNAPSHOT' 

task wrapper(type: Wrapper) { 
    gradleVersion = '3.2' 
    distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" 
} 


buildscript { 
    repositories { 
     jcenter() 
    } 

    dependencies { 
     classpath 'org.akhikhl.gretty:gretty:1.4.0' 
    } 
} 

repositories { 
    mavenCentral() 
    jcenter() 
} 

//apply plugin: 'java' 
//apply plugin: 'eclipse-wtp' 
//apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin' 
apply plugin: 'war' 
apply plugin: 'org.akhikhl.gretty' 


sourceCompatibility = 1.8 
targetCompatibility = 1.8 

dependencies { 

    //compile group: 'org.akhikhl.gretty', name: 'gretty', version: '1.4.0' 


    // ******************************************************************************************************** 
    // SPRING FRAMEWORK, ORM Y H2DB 
    // ******************************************************************************************************** 

    compile group: 'org.springframework', name: 'spring-webmvc', version: '4.3.4.RELEASE' 
    compile group: 'org.springframework', name: 'spring-orm', version: '4.3.4.RELEASE' 
    compile group: 'org.springframework', name: 'spring-jdbc', version: '4.3.4.RELEASE' 
    compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.3.Final' 


    // ******************************************************************************************************** 
    // JACKSON DATABIND 
    // ******************************************************************************************************** 

    compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.4' 
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.4' 


    // ******************************************************************************************************** 
    // THYMELEAF 
    // ******************************************************************************************************** 

    compile group: 'org.thymeleaf', name: 'thymeleaf-spring4', version: '3.0.2.RELEASE' 


    // ******************************************************************************************************** 
    // SERVLET 
    // ******************************************************************************************************** 

    compile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.1.0' 


    // ******************************************************************************************************** 
    // MYSQL CONNECTOR 
    // ******************************************************************************************************** 

    //compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.5' issues with time zone 
    compile 'mysql:mysql-connector-java:5.1.6' 

    // ******************************************************************************************************** 
    // WEB RESOURCES 
    // ******************************************************************************************************** 

    compile group: 'org.webjars', name: 'angularjs', version: '1.5.8' 
    compile group: 'org.webjars', name: 'jquery', version: '2.1.4' 
    compile group: 'org.webjars', name: 'bootstrap', version: '3.3.7' 
    compile group: 'org.webjars', name: 'jquery-ui', version: '1.12.1' 
    compile group: 'org.webjars', name: 'modernizr', version: '2.8.3' 


    // ******************************************************************************************************** 
    // JUNIT AND SPRING TEST 
    // ******************************************************************************************************** 

    testCompile group: 'junit', name: 'junit', version: '4.12' 
    testCompile group: 'org.springframework', name: 'spring-test', version: '4.3.4.RELEASE' 


    // ******************************************************************************************************** 
    // GOOGLE DRIVE API 
    // ******************************************************************************************************** 

    compile group: 'com.google.api-client', name: 'google-api-client', version: '1.22.0' 
    compile group: 'com.google.apis', name: 'google-api-services-drive', version: 'v2-rev245-1.22.0' 
    compile group: 'com.google.api-client', name: 'google-api-client-java6', version: '1.22.0' 
    compile group: 'com.google.oauth-client', name: 'google-oauth-client-jetty', version: '1.22.0' 


    // ******************************************************************************************************** 
    // DROPBOX API 
    // ******************************************************************************************************** 

    compile group: 'com.dropbox.core', name: 'dropbox-core-sdk', version: '1.8.2' 


    // ******************************************************************************************************** 
    // TWITTER API 
    // ******************************************************************************************************** 

    compile group: 'org.twitter4j', name: 'twitter4j-core', version: '4.0.5' 


// compile group: 'org.slf4j', name: 'slf4j-mylearn.api', version: '1.7.21' 
// compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.21' 

// compile files("twitter/main/webapp/") // add this path as a classpath 

} 


task copyBootstrap(type: Copy) { 
    into "$buildDir/static_resources" 
    configurations.compile 
      .files({ it.group.equals("org.webjars")}) 
      .each { 
     from zipTree(it) 
    } 
} 

//build.dependsOn(copyBootstrap) 

task copyToLib2(type: Copy) { 
    into "$buildDir/output/libs" 
    from configurations.runtime 
} 

war { 
    archiveName = 'ROOT.war' 
    destinationDir = file('webapps') 
} 


// ******************************************************************************************************** 
// GRETTY SETTINGS 
// ******************************************************************************************************** 

/* Change context path (base url). otherwise defaults to name of project */ 
gretty { 
    port = 8081 
    contextPath = '' 
} 

ответ

1

Эта проблема, как представляется, связано с org.akhikhl.gretty плагин, который вы пытаетесь использовать. Если я пытаюсь построить проект, используя вышеуказанный файл Gradle я получаю следующий результат:

C:\ws\PLAYGROUND\test123>gradle wrapper --stacktrace 
Changed dependencies of configuration ':providedCompile' after it has been included in dependency resolution. This behaviour has been deprecated and is cheduled to be removed in Gradle 3.0. 
Changed dependencies of parent of configuration ':compile' after it has been resolved. This behaviour has been deprecated and is scheduled to be removed in Gradle 3.0 
Changed strategy of configuration ':compile' after it has been resolved. This behaviour has been deprecated and is scheduled to be removed in Gradle 3.0 
Changed dependencies of configuration ':grettyProvidedCompile' after it has been included in dependency resolution. This behaviour has been deprecated and is scheduled to be removed in Gradle 3.0. 

⋮ 

* Exception is: 
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'test123'. 
    at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79) 
    at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74) 
    at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61) 
    ⋮ 
Caused by: org.gradle.api.InvalidUserDataException: Cannot change dependencies of configuration ':compile' after it has been resolved. 
    at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.validateMutation(DefaultConfiguration.java:578) 
    at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$2.run(DefaultConfiguration.java:137) 
    ⋮ 
    at org.akhikhl.gretty.GrettyPlugin$_addDependencies_closure11.doCall(GrettyPlugin.groovy:130) 
    ⋮ 

Это является gretty плагин, кажется, использует функциональные возможности, которые были удалены с Gradle 3.0

Там есть issue #306, что имеет было сообщено короткое время назад, которое описывает в значительной степени вашу проблему.

Учитывая количество открытых проблем для такого небольшого проекта и отсутствие активности по этим проблемам, я не думаю, что этот плагин очень помогает, и вам, вероятно, будет лучше использовать что-то другое.