2015-10-08 29 views
14

Stavo giocando con l'elaborazione delle annotazioni Java. La compilazione dell'applicazione non riesce in IntelliJ IDEA, mentre una build maven termina correttamente. Sono sicuro che esista classe fornitore, ma ottengo il seguente errore:Errore di compilazione per annotazioni in Java 1.8 e IntelliJ IDEA 14

java: Bad service configuration file, or exception thrown while constructing Processor object: javax.annotation.processing.Processor: Provider <my class> not found. 

suppongo che sia a causa di un modulo X, che deve essere compilato con -proc:none argomento. Ma ho bisogno che l'elaborazione delle annotazioni sia abilitata per il resto dell'applicazione. Come configurare il processo di creazione di IntelliJ IDEA per saltare un modulo specifico durante il processo di annotazione?

risposta

14

È necessario configurare un profilo di annotazione separato per il modulo.

  1. creare un profilo di annotazione
    1. Nella pagina Annotation Processors, clicca add.
    2. Nella finestra di dialogo "Crea nuovo profilo", specificare il nome profile.
  2. associato un modulo con un profilo di annotazione
    1. Selezionare il modulo nell'elenco dei moduli sotto il profilo default. (Per impostazione predefinita, tutti i moduli di un progetto sono associati al profilo default.)
    2. Fare clic su Move to o premere F6.
    3. Dall'elenco a discesa, selezionare il profilo di destinazione in cui spostare il modulo selezionato. Annotation profile - move
  3. configurare l'elaborazione di annotazione per un profilo
    1. Abilita elaborazione di annotazione per il profilo default.
    2. Disattiva l'elaborazione dell'annotazione per il profilo, che hai appena creato.

Questa risposta si basa su un articolo da IntelliJ IDEA Help.

+0

@ maytham-ɯɐɥʇʎɐɯ IDK. Lo screenshot è copiato dalla guida IntelliJ IDEA. – naXa

+2

Perché a) rispondi alla tua stessa domanda, b) rispondi nello stesso minuto in cui l'hai postato e c) metti una taglia su di essa più di un anno dopo? Sono confuso. – kriegaex

+2

@kriegaex È così che sono. Inspiegabile ... Quack! – naXa