【问题标题】:Gradle - Adding new configuration to classpath throws errorGradle - 向类路径添加新配置会引发错误
【发布时间】:2017-12-01 15:27:21
【问题描述】:

我创建了一个自定义 Gradle 插件,它为我想要单独处理的一些依赖项创建了一个新配置。由于这些曾经位于compile 配置中,因此我已将新配置添加到类路径(来自Java 插件),如下所示:

project.sourceSets.all { sourceSet -> 
    sourceSet.compileClasspath += myConfiguration
}

我的配置扩展compile 配置。我的理由是,如果有任何其他 3rd 方插件对 compile 配置做了“某事”,那么它也会影响我的新配置,因为它也是 compile 的一个实例。

似乎稍后在另一个插件Spring PropDeps Plugin 上也修改了类路径并且构建失败:

无法应用插件 [class 'org.springframework.build.gradle.propdep.PropDepsPlugin'] 解决后无法更改配置“:my-project:compile”的依赖关系。

查看该插件的源代码,他们正在执行与我在自定义插件中创建配置相同的步骤,即创建配置并在应用插件后立即将其添加到类路径中,请参阅@987654322 @。

如果只有 one 插件可以将新配置添加到类路径,这似乎很疯狂。我在这里做错了什么?

请注意,我的自定义插件应用在 allprojects 块中,而 Spring 插件应用在 subprojects 块中 - 不确定这是否重要。

【问题讨论】:

    标签: gradle plugins configuration classpath


    【解决方案1】:

    嗯......当我写这个问题时,我对扩展compile 配置添加到编译类路径感到震惊。这似乎是我在添加一个循环依赖。瞧,当我没有扩展配置时,构建工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 2016-06-03
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      相关资源
      最近更新 更多