Ich verwende Maven (und die Maven Eclipse-Integration), um die Abhängigkeiten für meine Java-Projekte in Eclipse zu verwalten. Die automatische Download-Funktion für JAR-Dateien aus den Maven-Repositories spart Zeit. Leider enthält es keine API-Dokumentation und keinen Quellcode.
Wie kann ich Maven so einrichten, dass automatisch auch die Quell- und Javadoc-Anhänge abgerufen und ordnungsgemäß bei Eclipse registriert werden?
Antworten:
Ich bin sicher, dass das m2eclipse Maven-Plugin für Eclipse - umgekehrt - das kann. Sie können es so konfigurieren, dass sowohl die Quelldateien als auch Javadoc automatisch für Sie heruntergeladen werden.
Dies wird erreicht, indem Sie unter Fenster> Einstellungen> Maven die Optionen "Artefaktquellen herunterladen" und "Artefakt JavaDoc herunterladen" aktivieren.
quelle
oder
oder Sie können beide Flags hinzufügen, wie Spencer K betont.
Darüber hinaus ist der
=true
Teil nicht erforderlich, sodass Sie ihn verwenden könnenquelle
Die anderen Antworten auf diese Arbeit, aber wenn Sie vermeiden möchten, dass Sie sich Befehlszeilenargumente merken müssen, können Sie auch einfach die Konfiguration downloadSources und downloadJavadocs zum Abschnitt maven-eclipse-plugin Ihrer pom.xml hinzufügen:
quelle
settings.xml
Datei einfügen.Ich ziehe es vor, keine Quell- / Javadoc-Download-Einstellungen in die Projektdatei aufzunehmen
pom.xml
, da dies meiner Meinung nach Benutzereinstellungen und keine Projekteigenschaften sind. Stattdessen platziere ich sie in einem Profil in meinersettings.xml
Datei:quelle
Klicken Sie mit der rechten Maustaste auf Projekt -> Maven -> Quellen herunterladen
quelle
Wenn sich die Quellgläser im lokalen Repository befinden und Sie die Eclipses Maven-Unterstützung verwenden, werden die Quellen automatisch angehängt. Sie können
mvn dependency:sources
alle Quellgläser für ein bestimmtes Projekt herunterladen. Ich bin mir nicht sicher, wie ich das mit der Dokumentation machen soll.quelle
mvn dependency:sources
konnte ich mich in Eclipse durchklicken, um die Quelle zu lesen. Kein zusätzliches Mucken mit m2e erforderlich. Um die Javadocs herunterzuladen, tun Sie diesmvn dependency:sources -Dclassifier=javadoc
.Wenn Sie Meclipse verwenden, tun Sie dies
Fenster -> Maven -> Artefaktquellen herunterladen (Häkchen auswählen)
(Wenn Sie weiterhin ein Quellfenster zum Anhängen erhalten, klicken Sie auf die Schaltfläche Datei anhängen und schließen Sie das Fenster zum Anhängen der Quelle. Wenn Sie das nächste Mal versuchen, die Quelle anzuzeigen, wird die richtige Quelle geöffnet.)
Surajz
quelle
Es gibt auch eine ähnliche Frage , die diese Frage beantwortet und Beispiel-POM-Einstellungen enthält.
quelle
Ich habe Windows-> Pref ..-> Maven ausprobiert, aber es hat nicht geklappt. Daher habe ich mit dem Befehl mvn eclipse einen neuen Klassenpfad erstellt: eclipse -DdownloadSources = true und den Arbeitsbereich einmal aktualisiert. voila .. Quellen wurden beigefügt.
Der Eintrag des Quellglases ist im Klassenpfad verfügbar. Daher löste ein neuer Build das Problem ...
quelle
In meiner Version von Eclipse-Helios mit m2Eclipse gibt es keine
Unter Fenster befindet sich nur "neues Fenster", "neuer Editor", "offene Perspektive" usw.
Wenn Sie mit der rechten Maustaste auf Ihr Projekt klicken, wählen Sie maven -> Quellen herunterladen
Nichts passiert. Es werden keine Quellen heruntergeladen, keine POM-Dateien aktualisiert, kein Fenster mit der Frage, welche Quellen angezeigt werden.
Mvn xxx außerhalb von Eclipse auszuführen ist gefährlich - einige Befehle funktionieren nicht mit m2ecilpse - ich habe das einmal gemacht und das gesamte Projekt verloren, musste Eclipse neu installieren und von vorne beginnen.
Ich bin immer noch auf der Suche nach einer Möglichkeit, Ecilpse und Maven dazu zu bringen, die Quelle externer Gläser wie Servlet-API zu finden und zu verwenden.
quelle
Wenn Sie pom für maven-eclipse-plugin so ändern, dass es source / javadoc enthält, gelten Sie nur für neue Abhängigkeiten, die pom hinzugefügt werden. Wenn wir vorhandene Abhängigkeiten beantragen müssen, müssen wir mvn dependency: sources ausführen. Ich habe das überprüft.
quelle
Manchmal reicht es nicht aus, die Download-Quelle / Javadoc in den Eclipse-Maven-Einstellungen zu überprüfen. Falls maven sie aus irgendeinem Grund nicht herunterladen konnte (ein Netzwerkausfall?), Erstellt maven einige * .lastUpdated-Dateien und wird dann nie wieder heruntergeladen. Meine empirische Lösung bestand darin, das Artefaktverzeichnis aus .m2 / repository zu löschen und den Eclipse-Arbeitsbereich mit aktivierter Downloadquelle / javadoc neu zu starten und Projekte beim Start ebenfalls zu aktualisieren. Nach dem Neustart des Arbeitsbereichs können möglicherweise einige Projekte als fehlerhaft markiert werden, während der Eclipse-Fortschritt heruntergeladen wird. Anschließend wird jeder Fehler behoben. Vielleicht ist dieses Verfahren nicht so "wissenschaftlich", aber für mich ist es gelungen.
quelle
Ich habe die POM-Konfiguration zum Maven-Eclipse-Plugin hinzugefügt, um Quell- und Javadocs herunterzuladen, aber ich denke / hoffe, dass dies für neue Abhängigkeiten passieren wird, nicht für bestehende.
Für vorhandene Abhängigkeiten habe ich im Paket-Explorer bis zu "Maven-Abhängigkeiten" gesucht und mit der rechten Maustaste auf commons-lang-2.5.jar geklickt und Maven | ausgewählt Quellen herunterladen und ... nichts schien zu passieren (kein Fortschrittsbalken oder Hinweis darauf, dass etwas getan wurde). Es wurde jedoch heruntergeladen, da ich jetzt in commons-lang zur Quelle springen kann.
quelle
Überdenken vorgeschlagen, das Setup im POM zu verwenden:
Zuerst dachte ich, dies würde das Javadoc und die Quellen immer noch nicht anhängen (da ich es zuvor erfolglos mit dieser Option -DdownloadSources versucht habe).
Aber Überraschung - die .classpath-Datei erhält ihre Quellen und Javadoc, wenn sie die POM-Variante verwendet!
quelle
Für Indigo (und wahrscheinlich Helios) befinden sich die oben genannten Kontrollkästchen hier:
Fenster -> Einstellungen -> Maven
quelle
Ich hatte ein ähnliches Problem, und die Lösung, die für mich am besten funktionierte, bestand darin, die Quelle in dieselbe JAR-Datei wie den kompilierten Code aufzunehmen (ein bestimmtes Verzeichnis in der JAR-Datei würde also sowohl
Foo.java
als auch enthaltenFoo.class
). Eclipse ordnet die Quelle automatisch dem kompilierten Code zu und stellt JavaDoc automatisch aus der Quelle bereit. Dies ist natürlich nur hilfreich, wenn Sie das Artefakt steuern.quelle
Nachdem Sie die Eigenschaften entweder auf Projektebene oder auf Benutzereigenschaften festgelegt haben, führen Sie einen Maven -> Projekt aktualisieren aus (Aktualisierung erzwingen). Es lädt die Quellen herunter
quelle