代码之家  ›  专栏  ›  技术社区  ›  Abdelghani Bekka

Gradle中的任务和插件冲突(未能应用插件[class'org.Gradle.langu…)

  •  2
  • Abdelghani Bekka  · 技术社区  · 7 年前

    我试图从运行任务 build.gradle 使用以下命令:

    gradle footype
    

    但是,生成失败,并显示了我要修复的两条错误消息:

    > Configure project : 
    The Task.leftShift(Closure) method has been deprecated and is scheduled to 
    be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
    

    * What went wrong:
    An exception occurred applying plugin request [id: 'java']
    > Failed to apply plugin [class         
    'org.gradle.language.base.plugins.LifecycleBasePlugin']
       > Declaring custom 'assemble' task when using the standard Gradle 
    lifecycle plugins is not allowed.
    

    这是密码 建筑格拉德尔 文件:

    plugins{
      id "com.gradle.build-scan" version "1.10.2"
      id "org.arquillian.spacelift" version "1.0.0-alpha-17"
      id "java"
    }
    
    group 'k'
    version '1.0-SNAPSHOT'
    
    sourceCompatibility = 1.8
    
    repositories {
      mavenCentral()
    }
    
    task fooType {
      doLast {
        def foo = "bar"
        println "$foo + foo = ${foo + "foo"}"
      }
    }
    

    我搜索了其他帖子,它们似乎都提到了一个名为clean()的任务,但它没有出现在我的代码中,所以我想知道问题出在哪里。

    非常感谢你阅读这篇文章。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Opal    7 年前

    说到这条消息:

    配置项目: 任务。leftShift(闭包)方法已被弃用,并计划 在Gradle 5.0中删除。请使用任务。doLast(动作)。

    这只是一个警告。它指出您应用的一个(可能更多)插件使用 << 在gradle的5.0版本中将删除,以支持 doLast << 直接在脚本中,这没关系。为了消除这个警告,首先你需要知道哪个插件使用它,然后在插件的网站上提出一个问题,要求删除不推荐的代码。

    当涉及到第二条消息时,这是一个错误,在单个构建脚本中,对此无能为力。两个插件 java org.arquillian.spacelift assemble )-这是一种冲突。也许你可以把你的项目分成一个多模块?