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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top