/ / Anmerkungen gegen Javadoc in Maven Mojos - Java, Maven

Anmerkungen gegen Javadoc in Maven Mojos - Java, Maven

Ich bin irgendwie verwirrt über das Annotieren von Feldern in meinem Maven Mojo MavenProject Instanz würde der Code so aussehen

/**
* @property property="${project}"
* @readonly
* @required
*/
private MavenProject project;

oder es könnte so aussehen (tut das gleiche)

@Parameter(defaultValue = "${project}", readonly = true, required = true)
private MavenProject project;

Sie können sogar beide Varianten kombinieren, was auch irgendwie funktioniert.

  1. Was genau ist der Unterschied zwischen diesen Varianten?
  2. Ist eine der Methoden veraltet / veraltet? Was ist der bevorzugte Weg?
  3. Variante "javadoc": Was ist der Punkt beim Kodieren der Programmlogik in einen Kommentar?

Antworten:

2 für die Antwort № 1

Die Javadoc-Variante ist die alte Methode zum Angeben der Informationen, die in den Deskriptor plugin.xml gehen sollen. Java-Anmerkungen wurden nur in Java 5 eingeführt.

Das Vorschlag für Java 5-Anmerkungen für MOJOs beschreibt einige Vorteile der Verwendung von Anmerkungen gegenüber Javadoc-Tags:

Die Verwendung von Java 5-Anmerkungen anstelle von Javadoc-Anmerkungen hat mehrere Vorteile:

  • Prüfungen zur Kompilierungszeit auf Plugin-Metadaten, mit Aufzählungen für einige Anmerkungen
  • Erbschaftsunterstützung
  • Annotationen werden in den meisten IDEs unterstützt und bieten Code-Vervollständigung und syntaktische Überprüfungen

Zusätzlich, die maven-plugin-plugin-dokumentation erwähnt, dass es MOJO-Superklassen in verschiedenen Projekten erlaubt, und ihr Quellcode muss nicht verfügbar sein.

Welche Methode verwenden?

Ich würde Java 5-Anmerkungen aus den oben genannten Gründen und auch wegen des Punktes verwenden, den Sie in Ihrer dritten Frage angeben: Die Programmlogik sollte nicht in einem Kommentar codiert sein.