当我在下面的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中,请确保您按预期的方式编译/构建了项目,以确保构建了相关类.