Ich habe Annotationsbearbeitung in Eclipse für einige meiner Projekte; für mich arbeitet es auf speichern, und ich muss nicht mvn install
(und es funktioniert anders als Maven, wie Eclipse seinen eigenen Compiler ausführt).
Ich verwende auch m2e-apt
Plugin dafür. Wie oben erwähnt, führt Eclipse seinen eigenen Compiler aus; Das bedeutet, dass die Ausgabe etwas anders sein kann als die von Maven (wenn Sie mit der rechten Maustaste auf Projekt> Ausführen als> Maven Clean/Install klicken, rufen Sie Maven auf, nicht Eclipse). Ich erwähne das, weil es durchaus möglich ist, dass Ihre Prozessoren ein Problem haben und in Maven arbeiten, aber nicht in Eclipse (obwohl sie meistens die gleiche Ausgabe produzieren; ich habe einige Unterschiede gesehen, aber sehr klein). Ich würde das Fehlerprotokoll von Eclipse im Auge behalten, wenn ich Sie wäre (weil hier Fehler in der Annotationsverarbeitung geschrieben sind).
So, hier ist das, was ich vorschlagen:
- Beitrag ein Bild mit Ihrer Maven/Annotation Verarbeitungseinstellungen in Eclipse (auch wenn Sie die richtige Option aktiviert zu haben scheinen).
- Ein Bild mit
Java/Compiler
Einstellungen hochladen (es gibt ein Häkchen dort, das aktiviert werden muss; es funktioniert nicht ohne).
- Die Veröffentlichung Ihrer
pom.xml
wäre seltsamerweise hilfreich. Vor allem, wenn Sie eine benutzerdefinierte Konfiguration für maven-compiler-plugin
haben. Ein Teil dieser Konfiguration wird von m2e-apt
wie Compiler-Argumenten interpretiert. Suchen Sie nach einer Datei namens .factorypath
. Das ist, wo m2e-apt
die Liste der Gläser hält, die es für die Annotationsverarbeitung scannt (Sie werden alle Gläser Ihres Projekts dort finden, obwohl sie tatsächlich keine Prozessoren enthalten, das heißt, es sei denn, Ihr maven-compiler-plugin
ist nur so konfiguriert, um eine bestimmte Liste von Prozessoren betrachten). Wenn das Glas, das Ihren Prozessor enthält, nicht in .factorypath
ist, wird es nicht funktionieren.
- Last but not least, gibt es noch eine andere Sache, die Probleme verursachen kann. Wenn das Projekt, das den eigentlichen Annotationsprozessor (also NICHT den "Client") enthält, im selben Arbeitsbereich wie das "Client" -Projekt ist, ignoriert
m2e-apt
einfach Ihren Annotationsprozessor; Ich weiß nicht warum.Das Schließen Ihres Annotation-Prozessor-Projekts wäre in diesem Fall ausreichend (Sie müssen es nicht aus dem Arbeitsbereich löschen).
Edit: vergessen zu sagen, dass, wenn Sie tun über Maven Annotations Verarbeitung ausgeführt (und Sie Aufruf Maven nur Anmerkungen zu verarbeiten), dann sollte mvn compile
genug sein. Außerdem müssen Sie es nicht separat ausführen (zuerst mvn clean
, dann mvn compile
). Sie können es in einem Schuss mit mvn clean compile
laufen lassen; es soll genau den gleichen Effekt haben.
Überprüfen Sie Ihre Projekteinstellungen unter 'Java Compiler> Annotation Processing' und stellen Sie sicher, dass dort alles aktiviert ist. – gk5885
Hallo! Hast du dein Problem gelöst? – LppEdd
Ja ich wechselte zu Netbeans – AndiDev