运行下面的代码时 我收到编译错误: java:.. \ JavaClass.java:8:找不到符号 symbol:方法add(java.math.BigDecimal) location:class BigDecimalDelegated
似乎为java编译器创建的groovy类的存根不包含委托方法。
任何想法?
考虑这些课程:
class BigDecimalDelegated //groovy class
{
@Delegate BigDecimal delegated;
String data;
}
import org.junit.Test;
import java.math.BigDecimal;
public class JavaClass //java class
{
@Test
public void temp()throws Exception
{
new BigDecimalDelegated().add(BigDecimal.TEN);
}
}
答案 0 :(得分:1)
IDEA外部版本中使用的Groovy编译器不支持此功能,请参阅http://jira.codehaus.org/browse/GROOVY-4647
您可以仅使用Groovy代码中的@Delegate类,也可以在“设置”中关闭外部版本编译器使用旧的构建机制。
答案 1 :(得分:0)
您如何运行/编译代码?
另外,我相信你需要在BigDecimalDelegated的构造函数中设置委托
class BigDecimalDelegated //groovy class
{
@Delegate BigDecimal delegated
String data
BigDecimalDelegated() {
delegated = 0.0G
}
}