9

誰かがAnt4Eclipse(http://www.ant4eclipse.org/)をProject Lombok(http://projectlombok.org/)と組み合わせて使用​​することに成功しましたか?

Lombokは、ボイラープレートコードを削除するための注釈を提供します。ただし、Ant4Eclipse(Eclipseプロジェクトのヘッドレスコンパイル)ではうまく機能しないようです。たとえば、次のLombokサンプルはEclipseとjavacで正常にコンパイルされます。

import lombok.Getter;
public class LombokTest {
  private @Getter String foo; 
  public LombokTest() {
    String s = this.getFoo();
  }
}

ただし、Ant4Eclipseを使用してコンパイルする<buildJdtProject>と、次のようになります。

[javac] Compiling 1 source file
[javac] ----------
[javac] 1. WARNING in C:\dev\Java\workspace\LombokTest\src\LombokTest.java (at line 4)
[javac]     private @Getter String foo;
[javac]                            ^^^
[javac] The field LombokTest.foo is never read locally
[javac] ----------
[javac] 2. ERROR in C:\dev\Java\workspace\LombokTest\src\LombokTest.java (at line 8)
[javac]             String s = this.getFoo();
[javac]                             ^^^^^^
[javac] The method getFoo() is undefined for the type LombokTest
[javac] ----------

誰かがこれらのライブラリを一緒にうまく使用しましたか?

ありがとう!

編集:問題を示すサンプルプロジェクト

4

3 に答える 3

2

私は最終的に、最初にプロジェクトをデロンボクすることによって、ant4eclipseを使用してロンボクプロジェクトをコンパイルすることができました。

<delombok verbose="true"; encoding="UTF-8" 
    to="${workspaceDirectory}/myproject/src" 
    from="${workspaceDirectory}/myproject/src-original" />
于 2012-08-01T16:10:45.680 に答える
1

IIRCでEclipseでLombokを使用するには、起動時にLombokのJavaエージェントをJDTコンパイルプロセスに導入するために必要なパラメーターがあります。これは通常、eclipse.iniファイルで指定されます。Ant4Eclipseがこれらのパラメーターも使用しない場合(理由はわかりません)、その-javaagent:lombok.jarパラメーターも指定する必要があります。

免責事項:これは単なる推測です。

于 2010-04-05T11:42:11.290 に答える
0

提供されたプロジェクトは、Java6を使用するEclipseJava EE 3.5.2で、そのままではコンパイルされません。Eclipseのエラーは、ant4eclipseによって提供されるエラーと同じです。

于 2010-04-05T07:12:41.807 に答える