Alguém já usou o Ant4eclipse com o Projeto Lombok?
Pergunta
Alguém usou com sucesso o Ant4eclipse (http://www.ant4eclipse.org/) em combinação com o Project Lombok (http://projectlombok.org/)?
O LOMOBOK fornece anotações para remover o código da caldeira; No entanto, ele não parece jogar bem com a Ant4eclipse (compilação sem cabeça de projetos eclipse). Por exemplo, a amostra LOMOMPK a seguir compila bem no Eclipse e Javac:
import lombok.Getter;
public class LombokTest {
private @Getter String foo;
public LombokTest() {
String s = this.getFoo();
}
}
Mas compilar com Ant4eclipse <buildJdtProject>
produz o seguinte:
[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] ----------
Alguém já usou essas bibliotecas com sucesso?
Obrigado!
Editar: Projeto de amostra demonstrando o problema
Solução
Eu finalmente consegui compilar um projeto LOMOM
<delombok verbose="true"; encoding="UTF-8"
to="${workspaceDirectory}/myproject/src"
from="${workspaceDirectory}/myproject/src-original" />
Outras dicas
IIRC Para usar o LOMOBOK no Eclipse, é necessário um parâmetro na inicialização para introduzir o agente Java da Lombok no processo de compilação JDT. Isso é normalmente especificado no eclipse.ini
Arquivo. Se Ant4eclipse também não faz uso desses parâmetros (não vejo por que seria), você pode ter que especificar o -javaagent:lombok.jar
parâmetro para isso também.
Isenção de responsabilidade: Este é apenas um palpite.
O projeto fornecido não compila fora da caixa com o Eclipse Java EE 3.5.2 usando o Java 6. Os erros no Eclipse são os mesmos que os dados por Ant4eclipse.