0

以下のコードを実行すると、コンパイル エラーが発生します: java: ..\JavaClass.java:8: シンボルが見つかりません。

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);
    }
}
4

2 に答える 2

1

IDEA の外部ビルドで使用される Groovy コンパイラはこれをサポートしていません。https://issues.apache.org/jira/browse/GROOVY-4647を参照してください。

Groovy コードからのみ @Delegate クラスを使用するか、設定 | 設定で外部ビルドをオフにすることができます。古いビルド メカニズムを使用するコンパイラ。

于 2013-01-28T12:57:29.930 に答える
0

コードをどのように実行/コンパイルしていますか?

また、 BigDecimalDelegated のコンストラクターでデリゲートを設定する必要があると思います

class BigDecimalDelegated  //groovy class
{
    @Delegate BigDecimal delegated
    String data

    BigDecimalDelegated() {
      delegated = 0.0G
    }
}
于 2013-01-24T15:24:50.360 に答える