Javadoc HTML erzeugen mit allen dependency

werdas34

Bekanntes Mitglied
Hallo,

ich möchte gerne ein Javadoc-Dokument erzeugen, indem alle dependency (pom.xml) mit berücksichtigt werden.
Bei Javadoc wird immer die Dokumentation für das eigene Projekt erstellt ohne dependency und JDK.
Mein Wunsch wäre es, wenn die pom die Junit5 als dependency hat, das die generierte Javadoc auch die Junit5 Docs mit anzeigt.

Idealerweise kann ich nur die JavaDoc vom pom erzeugen ohne das eigene Projekt, aber kein muss.

Wie stelle ich dass am besten an?
 

KonradN

Super-Moderator
Mitarbeiter
Ich bin mir jetzt nicht sicher, ob ich Dich richtig verstanden habe. Du willst Details des Projekts in einer html Dokumentation haben?

Evtl. suchst Du dann das maven-site-plugin welches zu zusammen mit dem maven-project-info-reports-plugin verwenden kannst.

Apache Maven Site Plugin – Introduction
Apache Maven Project Info Reports Plugin – Introduction

Ich habe es jetzt nicht direkt ausprobiert, aber es könnte schon reichen, das site Plugin ohne Configuration einzubinden und bei dem Project Info Reports Plugin gibst Du eine verschachtelte Struktur an von reportSets > reportSet > reports > report
Bei den report Einträgen kannst Du mehrere haben. Du hast Dependencies erwähnt, also wird ein Eintrag <report>dependencies</report> aber es klang auch an, dass Du javadoc und test-javadoc haben willst.

Ach ja - der Eintrag von dem Project Info Reports Plugin kommt unter <reporting>! Das findet sich aber alles unter dem offiziellen Link z.B. siehst Du ein Beispiel unter
Apache Maven Site Plugin – Configuring Reports

mvn site sollte das dann eigentlich erzeugen und Du solltest es dann unter target/site finden.

Ist das in etwas, was Du brauchst? Oder habe ich Dich missverstanden?
 

KonradN

Super-Moderator
Mitarbeiter
Ach - javadoc und test-javadoc kommen natürlich von maven-javadoc-plugin!
Das wäre das dritte Plugin im Bundle :)
 

werdas34

Bekanntes Mitglied
Ok. Ich muss mir das ganze erst mal anschauen.

ich habe eher mit so was gerechnet nur mit anderen Parametern:
Code:
javadoc -d doc src\*

Vielleicht ist es besser ich erkläre kurz den Hintergurnd.
Auf der Arbeit werden selbst entwickelte dependencies verwendet, deren öffentliche Doku sehr spärlich gehalten ist. Nur das nötigste quasi.

Meine Idee war es jetzt die Javadoc von diesen dependency zu erzeugen, so das ich ein "besseres" Nachschlagewerk habe, als die öffentliche Doku.
Die Javadoc müssen nicht jedesmal neu generiert werden, sondern dienen mir nur zuuurr Unterstützung.

Und was ist der Unterschied zwischen javadoc und test-javadoc? Hat das was damit zu tun, das ich als Beispiel Juni5 erwähnt habe. Also eigene Dokumentation für die Tests?
 

KonradN

Super-Moderator
Mitarbeiter
Und ich habe das jetzt auch einmal in meinem JAdventure Projekt eingebunden. Wie das da aussehen könnte, siehst Du unter JAdventure/pom.xml at create-reports · kneitzel/JAdventure (github.com)
(Ist nicht im main Branch sondern in den Branches Lektion-3 und create-reports)

Und was ist der Unterschied zwischen javadoc und test-javadoc?
Einmal macht er src/main/java und das andere mach src/test/java

Meine Idee war es jetzt die Javadoc von diesen dependency zu erzeugen, so das ich ein "besseres" Nachschlagewerk habe, als die öffentliche Doku.
Haben die denn noch keine komplette JavaDoc? Wenn diese internen Libraries auch auf ein Maven Repository gepusht werden, dann sollte da auch das JavaDoc jar mit bereit gestellt werden.

Ich meine, dass man auch das JavaDoc von Dependencies mit einbinden kann, aber das habe ich noch nie gemacht. Beim JavaDoc Plugin kannst Du Dir mal diese Seite ansehen:
Apache Maven Javadoc Plugin – Aggregating Javadocs from Dependency Sources
Evtl. ist das ja, was Du suchst.
 

werdas34

Bekanntes Mitglied
Ah super. Ich werde es mir die kommenden Tage auch mal alles genauer ansehen.

Haben die denn noch keine komplette JavaDoc? Wenn diese internen Libraries auch auf ein Maven Repository gepusht werden, dann sollte da auch das JavaDoc jar mit bereit gestellt werden.
Also mir wurden schon sämtliche Orte gezeigt, wo relevante Dokumentationen zu finden sind, aber javadoc war nicht dabei. Ich werd da mal nachfragen.

Edit:;
Es gibt in InteillJ die Option Generate JavaDoc und dann die Checkbox Include JDK and library sources in -sourcepath.
Aber wenn ich das anwähle passiert nichts. Also es wird nur das HTML vom eigenen Projekt generiert, aber kein JDK oder dependencies.
 
Zuletzt bearbeitet:

Oneixee5

Top Contributor
Javadoc sind Kommentare. Der Compiler entfernt im ersten Schritt alle Kommentare und Formatierungen. Also Javadoc aus einer Lib zu generieren ist nicht möglich. Man kann aber wie oben beschrieben, auf externe Dokumentationen zurückgreifen.
 

LimDul

Top Contributor
Javadoc sind Kommentare. Der Compiler entfernt im ersten Schritt alle Kommentare und Formatierungen. Also Javadoc aus einer Lib zu generieren ist nicht möglich. Man kann aber wie oben beschrieben, auf externe Dokumentationen zurückgreifen.
Jein, von vielen Libs gibt es auch source-jars, da ist die Doku drin enthalten. Daraus könnte man dann die Doku bauen. Wenn keine source-jar dabei ist, hilft das natürlich nicht.
 

KonradN

Super-Moderator
Mitarbeiter
Ach ja - evtl. hilft es, wenn man die notwendigen Anpassungen nennt. Wenn diese Dependencies auch Maven Projekte sind, dann sollte man da ggf. etwas einfügen wie

XML:
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${maven.javadoc.plugin}</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>${maven.source.plugin}</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

Und natürlich die Versionen in den Properties setzen ...
 

werdas34

Bekanntes Mitglied
Ich habe jetzt zumindest auf meinen privaten Rechner eine für mich gute Lösung gefunden. Also ein paar dependency von der Arbeit getestet.
Sorry @KonradN hat nichts mit dem zutun was du gepostet hast. Ich habs mir angeschaut, aber hat nicht funktioniert. Muss mich definitiv mehr mit Maven beschäftigen..

Man kann in IntelliJ in den Setting unter Maven -> Importing Automatically download [] Sources [] Documentation [] Annotation.
Wenn man alle aktiviert werden alle Docus bzw sources-jar gedownloaded und man kann die javadoc in der IDE direkt sehen. Und man kommt über einen kleinen Umweg direkt HTML. Passt also.

Nun habe ich versucht die Settings bei meinem Arbeitslaptop einzustellen, aber am Ende wird mir dennoch keine Docu angezeigt. Und ich habe privat und auf dem Arbeitsrechner die SpringApplication Klasse getestet. Privat Rechner funktioniert.
Auf der Arbeit haben mir Nexus und einen VPN. Habe mich auch im VPN angemeldet und die pom neu geladen. Funktioniert nicht.

Jemand ne Idee?
 

KonradN

Super-Moderator
Mitarbeiter
Maven hat eine update Policy, die vorgibt, wie oft es nach neuen Versionen schaut. Das trifft leider auch auf den Fall zu, dass es versucht hat, etwas herunter zu laden und es fehlgeschlagen ist. Das heisst: Weil der Download nicht geklappt hat, wird es eine Zeit lang (default 1 Tag) nicht erneut probiert. Man kann mit der Option -U aber den erneuten Check erzwingen. Also z.B. ein mvn -U package ausführen.

In IntelliJ kannst Du dies z.B. über das Maven Toolfenster machen. Dazu dort den Knopf "Execute Maven Goal" auswählen und dann hast Du im PopUp oben eine Eingabezeile, in der schon mvn steht. Da einfach das -U package eingeben.

Sorry @KonradN hat nichts mit dem zutun was du gepostet hast.
Das muss Dir nicht leid tun. Es tut mir leid, dass ich Dein Problem nicht besser verstanden habe. Dein Problem war somit nicht, dass Du da etwas erzeugen wolltest sondern dass es Dir in IntelliJ gefehlt hat.

Deine Lösung mit diesen Einstellungen war somit goldrichtig und danke für das Teilen der Lösung.

Falls man gerne mit der Kommandozeile arbeitet: Das kann man auch auf der Kommandozeile erreichen über ein
mvn dependency:sources dependency:resolve -Dclassifier=javadoc

Das dependency:sources lädt von den Abhängigkeiten die Source Jars herunter und
das dependency:resolve -Dclassifier=javadoc lädt die JavaDocs herunter.

Somit könntest Du auch ausführen:
mvn -U dependency:sources dependency:resolve -Dclassifier=javadoc


Ach ja - prinzipiell könnte man in der Maven Konfiguration auch die updatePolicy umsetzen auf always:
Maven – Settings Reference (apache.org)
Ob das aber Sinn macht muss jeder für sich entscheiden. Ich habe es bei mir unverändert gelassen und wenn ich ein Problem (ähnlich wie bei Dir) feststelle, dann nutze ich -U.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
O JavaDoc-Methoden kommentieren Java Basics - Anfänger-Themen 26
Tommy135 Erste Schritte JavaDoc Sortieren Java Basics - Anfänger-Themen 5
M Java Bibliothek Javadoc not found Java Basics - Anfänger-Themen 1
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
Spencer Reid JavaDoc zu JavaFx hinzufügen Java Basics - Anfänger-Themen 1
O Javadoc bei abstrakten Methoden Java Basics - Anfänger-Themen 1
T Javadoc in Eclipse generieren Java Basics - Anfänger-Themen 1
K Wie in einer Javadoc zurechtfinden Java Basics - Anfänger-Themen 0
K Javadoc-Erstellung Java Basics - Anfänger-Themen 16
MiMa JavaDoc Kommentare Java Basics - Anfänger-Themen 12
B Javadoc richtig lesen... Java Basics - Anfänger-Themen 4
B Erste Schritte Javadoc Tool Java Basics - Anfänger-Themen 7
D Javadoc für Packages oder ganze Projekte Java Basics - Anfänger-Themen 5
B Javadoc-Befehl unter Ubuntu Java Basics - Anfänger-Themen 2
D javadoc: wie werden Umlaute richtig dargestellt? Java Basics - Anfänger-Themen 3
D javadoc Java Basics - Anfänger-Themen 5
D Libarie und Javadoc in Netbeans einbinden? Java Basics - Anfänger-Themen 6
H Javadoc Warnungen/Fehlermeldung Java Basics - Anfänger-Themen 2
J Javadoc -> Mehrere Klassen Java Basics - Anfänger-Themen 8
I Javadoc in Eclipse Java Basics - Anfänger-Themen 14
alderwaran closed source jar, kein javadoc. was macht methode x eigentlich? ( oracle forms pjc beans ) Java Basics - Anfänger-Themen 2
B [Javadoc] Tutorial für die Auswertung des docs Java Basics - Anfänger-Themen 15
C JavaDoc Problem Java Basics - Anfänger-Themen 4
J Tools für Java-Konvention und Javadoc ? Java Basics - Anfänger-Themen 2
Private Void JavaDoc Java Basics - Anfänger-Themen 2
J Javadoc Java Basics - Anfänger-Themen 6
S javadoc herunterladen Java Basics - Anfänger-Themen 2
G Mit Javadoc arbeiten Java Basics - Anfänger-Themen 13
M Javadoc generieren Java Basics - Anfänger-Themen 4
A Javadoc erstellen aus Klassen verteilt in Unterordnern Java Basics - Anfänger-Themen 4
K javadoc eigenes doclet in console starten Java Basics - Anfänger-Themen 3
K import com.sun.javadoc.*; gibts nicht Java Basics - Anfänger-Themen 1
S Problem beim JavaDoc erstellen. Java Basics - Anfänger-Themen 5
A Javadoc nur bei public Klassen? Java Basics - Anfänger-Themen 3
G Javadoc unter Eclipse Java Basics - Anfänger-Themen 4
G Javadoc Problem nach Neuinstallation Java Basics - Anfänger-Themen 7
K Javadoc problem mit Enum-Klasse Java Basics - Anfänger-Themen 5
B Eclipse + Debian = javadoc? Java Basics - Anfänger-Themen 2
G Javadoc Java Basics - Anfänger-Themen 2
F Javadoc Zugriffsprobleme über Eclipse Java Basics - Anfänger-Themen 2
A Javadoc Java Basics - Anfänger-Themen 3
S javac/javadoc Java Basics - Anfänger-Themen 11
W kann javadoc nicht finden Java Basics - Anfänger-Themen 2
R Javadoc Problem Java Basics - Anfänger-Themen 4
O javadoc Java Basics - Anfänger-Themen 4
C javadoc.exe nicht in JDK enthalten Java Basics - Anfänger-Themen 3
Bierhumpen Ist das javadoc konform? Java Basics - Anfänger-Themen 4
Bierhumpen JavaDoc und Joe Java Basics - Anfänger-Themen 2
G javadoc generieren? Java Basics - Anfänger-Themen 3
R javadoc in eclipse 3.1? Java Basics - Anfänger-Themen 4
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
M html-seite drucken (gerendert) Java Basics - Anfänger-Themen 3
I HTML Code säubern Java Basics - Anfänger-Themen 4
B HTML File einlesen inkl. Bilder? Java Basics - Anfänger-Themen 2
B HTML Datei einlesen und HTML Code in String wandeln Java Basics - Anfänger-Themen 19
B HTML Code in XML speichern Java Basics - Anfänger-Themen 3
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
B String nach HTML formatieren Java Basics - Anfänger-Themen 9
S HTML-Quelltext hinter HTTPS Java Basics - Anfänger-Themen 1
J Input/Output Input Buttons Html mit JSP Java Basics - Anfänger-Themen 3
E HTML in Java einbinden oder JavaScript? Java Basics - Anfänger-Themen 5
D Mit Java HTML bzw Javascript auslesen Java Basics - Anfänger-Themen 1
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
krgewb Input/Output Umlaute in generierter HTML-Datei Java Basics - Anfänger-Themen 7
N Status-Log - HTML Java Basics - Anfänger-Themen 12
C Methoden Welche JSoup Methoden Und Parameter für diese HTML Tags Java Basics - Anfänger-Themen 4
I Meta Tags vergleichen mit Html Vorgabe Java Basics - Anfänger-Themen 8
B HTML Code drucken Java Basics - Anfänger-Themen 4
D HTML Manipulation Navigation Java Basics - Anfänger-Themen 1
Z Html Element aus der Webseite auslesen Java Basics - Anfänger-Themen 1
D Erste Schritte HTML aus JEditorPane drucken Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
M Java und Html Java Basics - Anfänger-Themen 4
I HTML Code in Bild (transparent) konvertieren Java Basics - Anfänger-Themen 0
I Watermark erstellen mit HTML in Bild? Java Basics - Anfänger-Themen 7
T Ausgabe in HTML :( Java Basics - Anfänger-Themen 19
F HTML Datei in .jar speichern und abändern Java Basics - Anfänger-Themen 2
S mit Java HTML Button drücken "lassen" Java Basics - Anfänger-Themen 8
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
T HTML-Inputbox ansteuern Java Basics - Anfänger-Themen 4
I HTML Tabelle nur so lange erzeugen bis Höhe erreicht Java Basics - Anfänger-Themen 9
I HTML in String wandeln? Java Basics - Anfänger-Themen 1
D javacode durch Html ausfuehren Java Basics - Anfänger-Themen 13
W HTML Code, Umlaute werden nicht richtig dargestellt Java Basics - Anfänger-Themen 7
C Html in einem JEditorPane anzeigen Java Basics - Anfänger-Themen 2
I jar-Datei in HTML einbinden Java Basics - Anfänger-Themen 6
O HTML -> BBCode Parser? Java Basics - Anfänger-Themen 3
O Methode in andere Klasse verlegt, "auslesen" einer HTML Seite verschnellert - Problem. Java Basics - Anfänger-Themen 4
V Umlaute beim Parsen einer HTML Seite Java Basics - Anfänger-Themen 4
C Java Applet in html. Pong - old school Spiel Java Basics - Anfänger-Themen 10
J Methode um eine HTML-Datei zu öffnen Java Basics - Anfänger-Themen 10
H Schnell HTML-Tags finden Java Basics - Anfänger-Themen 5
H Welcher Html-Parser? Java Basics - Anfänger-Themen 8
G Probleme beim HTML auslesen Java Basics - Anfänger-Themen 6
J Html zugriff - POST Request/Response Java Basics - Anfänger-Themen 4
A HTML-Code auslesen und mit einem Wert in der property-Datei vergleichen Java Basics - Anfänger-Themen 2
Z Input/Output HTML-Seite einlesen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben