Ich verwende JSR 269 als eine Möglichkeit, Code während der Kompilierung zu analysieren und bei Bedarf fehlzuschlagen. Ich habe Probleme mit der Anzeige der Ausgabe meines Annotationsprozessors in Maven (Ant zeigt die Ausgabe) Ich benutze javax.annotation.processing.Messager, um Warnungen und Fehler anzuzeigen, aber in Maven sehe ich nicht, dass es ausgegeben wird . (Ich weiß, es läuft aber, weil es Code erzeugt, wie es sollte). Irgendwelche Ideen?Annotation Prozessor Ausgabe in Maven
10
A
Antwort
12
Ich glaube, Sie laufen in einen Maven Bug oder besser einen Fehler im Compiler-Plugin - MCOMPILER-66. Wenn es um die Verarbeitung von Annotations geht, hat das Compiler-Plugin einige Probleme, zB auch MCOMPILER-62. Wirklich die beste Option ist es, die Annotationsverarbeitung für das Compiler-Plugin zu deaktivieren und maven-processor-plugin zu verwenden. In diesem blog post können Sie sehen, wie man es benutzt. Es sieht so aus:
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArgument>-proc:none</compilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>1.3.7</version>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>1.1.0.Final</version>
<scope>compile</scope>
</dependency>
</dependencies>
</plugin>
Beachten Sie auch, wie die Abhängigkeit des Annotationsprozessors nur für das Plug-In geeignet ist.
Verwandte Themen
- 1. Mapstruct Annotation Prozessor nicht Mapper erzeugen Implimentation
- 2. Java 6 - Annotation-Prozessor und Code zusätzlich
- 3. Wie man JSR269 Annotation Prozessor in Eclipse Kepler mit Java 7 & Maven
- 4. Test Apt Argument für Annotation Prozessor mit Google Compile-Test
- 5. JUnit Ausgabe in Maven berichtet
- 6. Fehler in pom.xml, Maven-Ausgabe
- 7. Maven Ausgabe ArtifactDescriptorException
- 8. Maven Profile Ausgabe
- 9. Maven Plugin SCR Referenz Annotation Zielattribut Verwendung
- 10. Wie auf Annotations-Prozessor in Eclipse ausführen speichert
- 11. IntelliJ und Maven Quellordner Ausgabe
- 12. Birt Runtime Maven Artefakt Ausgabe
- 13. Maven Remote-Ressource Ausgabe Plugin
- 14. Maven Parent - Kind Projekt Ausgabe
- 15. Nachrichten mit Pegel Diagnostic.Kind.NOTE (und anderen) auf Annotation Processors
- 16. Zugang konstantes Feld in Annotations-Prozessor
- 17. Prozessor Zuverlässigkeit
- 18. Maven sagt mir, dass ich einen AMD64-Prozessor habe. Ich benutze definitiv einen Intel-Prozessor. Was ist los?
- 19. Eclipse-Auto-Build-Ausgabe interagiert mit Maven-Befehlszeilen-Build-Ausgabe
- 20. ExecuteSQL Prozessor in Apache Nifi
- 21. Annotation eine andere Annotation
- 22. Re-run Frühling Boot Configuration Annotation Prozessor zur Aktualisierung von Metadaten erzeugt
- 23. Spring Boot und Maven Exec Plugin Ausgabe
- 24. Annotation Processor für Jersey Annotationen
- 25. Probleme Verstand XSLT-Prozessor in WSO2
- 26. SSH ein Prozessor von dem anderen Prozessor ohne Netzwerkschnittstelle
- 27. Programmatisch Annotation Processors aufrufen
- 28. Django-Sass-Prozessor TypeError
- 29. prettyfaces Prozessor-Lebenszyklus
- 30. XSLT2.0 Prozessor für Perl?
Wie gibt der Prozessor Nachrichten aus? Wie rufen Sie es auf? –
Wird die Ausgabe angezeigt, wenn Sie maven mit dem Parameter '-X' aufrufen? –
@matt b Ich benutze javax.annotation.processing.Messager, um Warnungen anzuzeigen: '_messager = processingEnv.getMessager();' @Jorn: Ich verwende nicht den Parameter -X, der Prozessor wird als Dienstanbieter aufgeführt – iGili