2016-11-20 83 views
4

的依赖我加copyBootstrapbuild.gradle我收到一个错误,当尝试运行构建任务:无法更改配置

失败:建立失败,一个例外。

  • 出了什么问题:

的问题发生在配置根工程”。 在包含在依赖关系解析中后,无法更改配置':providedCompile'的依赖关系。

这个问题怎么解决?我在互联网上搜索,但没有找到解决方案。我从this link获得copyBootstrap任务。他们的目标是将org.webjars群组中的所有内容提取到特定路径。

我使用摇篮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有很久以前就有报道,这很好地描述了你的问题。

鉴于这样一个小项目的开放问题的数量和缺乏活动的问题,我不认为这个插件是一个很大的帮助,你可能会更好使用不同的东西。