gpt4 book ai didi

gradle - 对于继承 3rd-Party Java 对象的 Groovy 对象,对 super 的构造调用失败

转载 作者:行者123 更新时间:2023-12-02 11:01:31 25 4
gpt4 key购买 nike

情况

我有一个 Java 类的 Groovy 子类。 Java 类来自依赖项,而不是我自己的本地包:

// A basic idea of the Java class' construction
public class JavaArea<PS, S> {

public JavaArea(PS initialStyle, BiConsumer, S otheStyle, Biconsumer) {
// constructs class...
}

}

class GroovyArea extends JavaArea<Collection<String>, Collection<String>> {

GroovyArea(Object unrelated arguments) {
super(Collections.emptyList(), defaultBiConsumer, otherStyle, defaultBiConsumer)
// do some other stuff to GroovyArea's fields
}

}

由于某种原因,类的编译失败: Constructor call must be the first statement in a constructor尽管构造函数调用是第一条语句......
Exception executing 
org.gradle.api.internal.tasks.compile.ApiGroovyCompiler@7a1c5b43
in compiler daemon:
org.gradle.api.internal.tasks.compile.CompilationFailedException:
Compilation failed; see the compiler error output for details..

super(Collections.emptyList(), otherParams)
^

Gradle 构建文件

我有以下根项目的构建文件:
subprojects {
apply plugin: 'groovy'

repositories {
mavenCentral()
}

dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.6'

testCompile "org.spockframework:spock-core:1.0-groovy-2.4"
testRuntime "cglib:cglib-nodep:3.2.3"
testRuntime "org.objenesis:objenesis:2.4"
}
}

...以及包含错误的实际模块的以下构建文件:
version '1.0-SNAPSHOT'

apply plugin: 'groovy'

repositories {
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}

dependencies {
compile 'org.codehaus.groovyfx:groovyfx:0.4.0'

compile project(':diagrammer')

compile group: 'org.reactfx', name: 'reactfx', version: '2.0-M5'
compile group: 'org.fxmisc.wellbehaved', name: 'wellbehavedfx', version: '0.3'
compile (group: 'org.fxmisc.richtext', name: 'richtextfx', version: '1.0.0-SNAPSHOT') {
exclude group:'org.reactfx', module: 'reactfx'
}

}

我的问题

是什么导致了问题,我该如何解决?这是 Groovy 的错误吗?还是我的构建环境有问题?

IDE:IntelliJ 2016.1.3
我不认为它是 IDE,因为当我将鼠标悬停在“super”关键字上时,它会正确执行语法突出显示并提供正确的文档

Gradle : Gradle 2.12

Groovy:Groovy 2.4.6

我试过的

我尝试更改 Gradle 的版本(通过 sdkman),然后更改 Groovy(通过构建文件)。这些都没有解决问题:
  • Gradle :2.12 , 2.14
  • 使用 Groovy:2.4.5 , 2.4.6 , 2.4.7

  • 更新
  • 当我运行 gradle build 时,在 IntelliJ 中创建一个仅具有重建 GroovyArea 类所需组件的新 Gradle 项目将失败并出现相同的异常。 .
  • 最佳答案

    看起来是 Groovy 中的一个错误。归档为 GROOVY-7868

    关于gradle - 对于继承 3rd-Party Java 对象的 Groovy 对象,对 super 的构造调用失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37902304/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com