Groovy代码找不到Java构造函数

当我在下面的Groovy代码中运行main方法时,我得到一个groovy.lang.GroovyRuntimeException:找不到与com.example.Person(java.lang.String,com.example.Pet)匹配的构造函数.这是为什么?我正在使用最新版本的Groovy / Grails工具套件.

Groovy:

package com.example

import groovy.transform.TypeChecked

@TypeChecked
class Test {
    static main(args) {
        Pet fido = new Pet(name: 'Fido', nickname: 'Scruffy')
        Person dave = new Person('Dave', fido)
    }
}

@TypeChecked
class Pet {
    String name
    String nickname
}

Java:

package com.example;

public class Person {
    private String name;
    private Pet pet;

    public Person(String name, Pet pet) {
        this.name = name;
        this.pet = pet;
    }
}

解决方法:

确保按以下顺序编译并运行:

> groovyc宠物
> javac Person.java
> groovyc测试
>常规测试

如果遵循上述顺序,它会按预期对我有用.在GGTS中,请确保您按预期的方式编译/构建了项目,以确保构建了相关类.

上一篇:java-在POM文件中使用Groovy进行定界符切换对于不同的开发人员而言工作方式有所不同


下一篇:java-从Groovy连接到AS400的ProgramCallDocument挂起