So verweisen Sie Javadocs auf Abhängigkeiten im Eclipse-Plugin von Maven, wenn Javadoc nicht an die Abhängigkeit angehängt ist

StackOverflow https://stackoverflow.com/questions/44396

  •  09-06-2019
  •  | 
  •  

Frage

Ich verwende Eclipse, Maven und Java in meiner Entwicklung.Ich verwende Maven zum Herunterladen von Abhängigkeiten (JAR-Dateien und Javadoc, sofern verfügbar) und Mavens Eclipse-Plug-in zum Generieren der .project- und .classpath-Dateien für Eclipse.Wenn an die heruntergeladene Abhängigkeit kein Javadoc angehängt ist, füge ich manuell einen Link für das Javadoc in der .classpath-Datei hinzu, damit ich das Javadoc für die Abhängigkeit in Eclipse sehen kann.Wenn ich dann das Eclipse-Plugin von Maven ausführe, um die .classpath-Datei neu zu generieren, wird diese Änderung natürlich gelöscht.

Gibt es eine Möglichkeit, das Eclipse-Plug-in von Maven so zu konfigurieren, dass automatisch Klassenpfadattribute für Javadoc hinzugefügt werden, wenn das Eclipse-Plug-in von Maven ausgeführt wird?

Ich interessiere mich nur für Antworten, bei denen das Javadoc und/oder die Quellen nicht für die Abhängigkeit im Maven-Repository bereitgestellt werden, was bei mir am häufigsten der Fall ist.Die Verwendung von downloadSources- und/oder downloadJavadocs-Eigenschaften wird dieses Problem nicht beheben.

War es hilfreich?

Lösung

Sie können dieses Problem möglicherweise vollständig vermeiden, indem Sie das Javadoc-JAR mithilfe von manuell in Ihrem lokalen Repository installieren Ziel der Installationsdatei und Übergabe der Option -Dclassifier=javadoc.Sobald Sie dies getan haben, sollte der von mvn generierte .classpath korrekt sein.

Wenn Sie ein Remote-Repo als Proxy für die Zentrale verwenden, können Sie die Javadocs auch in diesem Repo bereitstellen und dann erhalten alle anderen, die diesen Proxy verwenden, die Javadocs nun automatisch ebenfalls.

Andere Tipps

Vom Maven Eclipse Plugin FAQ

Das folgende Beispiel zeigt, wie dies in der Befehlszeile geht:

mvn eclipse:eclipse -DdownloadSources=true  -DdownloadJavadocs=true 

oder in Ihrer pom.xml:

<project>
  [...]
  <build>
    [...]
    <plugins>
      [...]
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>
        </configuration>
      </plugin>
      [...]
    </plugins>
    [...]
  </build>
  [...]
</project>

Ich verwende STS 2.8.1, bei dem es sich im Wesentlichen um Eclipse + Spring Tools handelt.In einem vorhandenen Maven-Projekt habe ich mit der rechten Maustaste auf das Projekt geklickt -> Maven -> Quellen herunterladen und JavaDocs herunterladen

Wie erwähnt in Wie lade ich Quellen und Javadoc-Artefakte mit dem Maven Eclipse-Plugin aus einem anderen Repository herunter?, du kannst das:

Gehen Sie in Eclipse zu Windows->Einstellungen->Maven.Aktivieren Sie das Kontrollkästchen "Artefakt Javadoc herunterladen". Das hat gut für mich funktioniert.

Maven Preferences

Im Allgemeinen werden Javadocs nicht primär als Abhängigkeit verwendet.Denn diese werden weder beim Kompilieren noch zur Laufzeit benötigt.Es dient lediglich dazu, dem Entwickler beim Entwickeln oder Debuggen zu helfen.

Unter der Annahme, dass wir die Java-IDE Eclipse verwenden, können wir die Java-Dokumente wie angegeben verwenden.Im Folgenden finden Sie die Ansätze, mit denen wir die Javadocs/Quellen den jeweiligen JAR-Dateien zuordnen können.

1.Wenn es sich um ein Nicht-Maven-Projekt handelt:

Laden Sie die Javadocs-JAR- oder ZIP-Datei (je nachdem, was verfügbar ist) herunter und legen Sie sie in einem Verzeichnis ab.Klicken Sie mit der rechten Maustaste auf das Anwendungsprojekt in der IDE Eclipse, klicken Sie auf Eigenschaften und wählen Sie Java Build Path. Wählen Sie dann die Registerkarte Bibliotheken unter dem Java Build Path aus.Erweitern Sie nun das JAR, das Sie mit Java Docs/Source verknüpfen möchten.Wählen Sie den Link „Javadoc-Speicherort“ aus und klicken Sie auf die Schaltfläche „Bearbeiten“. Es erscheint ein neues Fenster, in dem wir den Javadocs-JAR-Pfad auswählen müssen.Klicken Sie auf OK und wir haben das Javadoc/die Quelle mit den entsprechenden Jars verknüpft.

enter image description here

2.Wenn es sich um ein Maven-Projekt handelt

Wenn wir das Maven-Projekt verwenden, gehen Sie zu den JAR-Dateien unter der Maven-Abhängigkeit unter dem Projekt in der Projekt-Explorer-Ansicht, wie unten gezeigt.Klicken Sie nun mit der rechten Maustaste auf die JAR-Datei, der Sie das Javadoc/die Quelle hinzufügen möchten.  Wählen Sie Maven und klicken Sie dann auf das Javadoc oder die Quelle, die Sie mit dem Projekt verknüpfen möchten.Jetzt lädt die IDE automatisch das erforderliche Javadoc/die erforderliche Quelle herunter und verknüpft es mit der entsprechenden JAR-Datei im Projekt.

enter image description here

Sie können dies überprüfen, indem Sie mit der rechten Maustaste auf das Projekt in der IDE klicken, auf „Java Build Path“ klicken und die Registerkarte „Bibliotheken“ unter „Java Build Path“ auswählen und dann das gewünschte JAR erweitern. Wenn Sie hier auf die Schaltfläche „Bearbeiten“ klicken, sehen Sie den verknüpften Pfad von das Javadoc/Source mit dem entsprechenden JAR, wie unten im Bild gezeigt.

enter image description here

3.Wenn es sich um ein Maven-Projekt handelt und wir das Standardverhalten festlegen:

Eclipse lädt zu Beginn das Javadoc/die Quelle zusammen mit dem wichtigsten erforderlichen JAR herunter.Standardmäßig wird Maven angewiesen, die Javadoc/Quellen für alle im Projekt verknüpften Jars herunterzuladen.

Klicken Sie auf Windows – Einstellungen – wählen Sie Maven und klicken Sie auf das Kontrollkästchen Artifact Javadoc herunterladen, wie unten gezeigt

enter image description here

Klicken Sie nun auf „Übernehmen“ und speichern Sie es. Wenn Sie nun ein neues Maven-Projekt erstellen, werden die Javadocs standardmäßig heruntergeladen und mit allen abhängigen Jars im Projekt verknüpft.
Sie können dies überprüfen, indem Sie mit der rechten Maustaste auf das Projekt und die Eigenschaften klicken. Unter Java Build Path können Sie sehen, dass die Javadocs mit allen JAR-Dateien verknüpft sind, wie unten gezeigt.

enter image description here

Wenn es sich bei Ihrem Projekt um ein Maven-Projekt handelt, ist es immer am besten, den zweiten Ansatz zu verwenden, da sich die IDE und Maven bei diesem Ansatz darum kümmern, die richtige Version des Javadoc/der Quelle herunterzuladen und diese auch mit dem entsprechenden JAR zu verknüpfen.

Ansatz 3 ist etwas kostspielig, da die Javadocs/Quellen für alle abhängigen Jars heruntergeladen werden. Möglicherweise sind Sie nicht an Javadocs/Quellen für alle abhängigen Jars interessiert.

Würde es helfen, die Quellen für die Abhängigkeit zu haben?Sie können das Eclipse-Plugin anweisen, diese herunterzuladen (und im .classpath darauf zu verweisen). -DdownloadSources=true

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top