2015-05-01 23 views
26

Ho un progetto basato su Gradle che utilizza lombok. Ho importato questo progetto in IntelliJ IDEA 14.1 (utilizzando il metodo di importazione Import External Model). Posso eseguire i test dell'unità JUnit4 senza problemi in Gradle, ma IntelliJ sembra avere un problema nel vedere i Getters generati da Lombok. Questo mi impedisce di eseguire i test in IDEA.IntelliJ IDEA non può vedere il codice generato da Lombok

Per assicurarsi che non si trattasse di un problema di configurazione, ho creato uno Very simple project e ho confermato che lo stesso problema si verifica nel progetto di test semplice.

mie versioni: Gradle: Gradle-2.3-tutto tramite Gradle involucro
IntelliJ IDEA: IU-141,713
Lombok Plugin: 0.9.2

Che cosa mi manca qui?

Aggiornamento Con non può vedere non intendo fisicamente invisibile. Voglio dire questo:

/home/meeee/workspace/junit-lombok-idea/lib/src/main/java/com/example/jumbokea/Main.java 
Error:(10, 11) java: cannot find symbol 
    symbol: method setIntField(int) 
    location: variable sc of type com.example.jumbokea.SomeClass 
Error:(12, 41) java: cannot find symbol 
    symbol: method getIntField() 
    location: variable sc of type com.example.jumbokea.SomeClass 
Error:(14, 33) java: constructor AnotherClass in class com.example.jumbokea.AnotherClass cannot be applied to given types; 
    required: no arguments 
    found: float,com.example.jumbokea.SomeClass 
    reason: actual and formal argument lists differ in length 
Error:(16, 46) java: cannot find symbol 
    symbol: method getSomeFloat() 
    location: variable ac of type com.example.jumbokea.AnotherClass 
Error:(17, 43) java: cannot find symbol 
    symbol: method getSomeClass() 
    location: variable ac of type com.example.jumbokea.AnotherClass 

Le classi decompilati mostrano i getter e setter, ma sto ottenendo questi errori quando arrivo IntelliJ per eseguire il 'app' o i test di unità.

Getters and setters are there, but not there???

risposta

39

È necessario abilitare i preprocessore annotazione. See documentation here.

Inoltre è necessario installare il plugin Lombok, se non già fatto

+0

Ho avuto l'elaborazione delle annotazioni abilitata, ma in qualche modo è stata disattivata. Tutto ha funzionato fino alle 16:00 circa ieri, poi all'improvviso ha iniziato a mostrare questi errori. L'elaborazione delle annotazioni è stata disabilitata in qualche modo. – copolii

+2

Non dimenticare di riavviare IntelliJ dopo aver abilitato il preprocessore di annotazione. Questo era il mio problema –

2

Lo si può vedere nella cartella di compilazione.

enter image description here

5

sono riuscito a risolvere il problema nel modo seguente:

  • Installare il plugin Lombok
  • Abilita annotazione lavorazione see documentation
  • Installa l'ultimo Maven sul tuo sistema e configura IntelliJ per usarlo (a differenza di quello in bundle) see documentation
+3

C'è già una risposta corretta e accettata. Maven è irrilevante qui. Non l'ho mai avuto e non ne ho mai avuto bisogno. – copolii

+2

Tutte le altre soluzioni non hanno funzionato per me quindi ho pensato di condividere quello che ha fatto –

0

In caso di Lombok, IntelliJ consente di cercare usi di variabile, che includeranno anche getter e setter. Basta fare clic sul nome della variabile e su option/alt + f7.

Questo funziona in Intellij 2016 e nel plug-in Lombok 0.13.16. Non sono sicuro delle versioni precedenti.