2015-02-26 10 views
8

ich die manual of javadoc geprüft und einige Beiträge hier auf Stackoverflow (zum Beispiel Including images in javadocs) lesen konnte aber ein zufriedenstellendes Ergebnis erhaltenWie Bilder in javadoc aufzunehmen und auf sie verweisen

ich ein Bild in meinem javadoc zur Verfügung stellen möchten, dass sollte mit dem erstellten HTML verpackt werden. Hier sind die Schritte, die ich nehme:

  • erstellen doc-files Verzeichnis unterhalb src/main/java (dies ist ein gradle Projekt in STS)
  • Ort eine Datei classhierarchy.png in das frisch erstellten Verzeichnis mit dem Namen
  • hinzufügen <img src="doc-files/classhierarchy.png"> zum javadoc von meine Klasse de.company.some.more.levels.MyClass
  • schaffen die javadoc

ich sehen kann, dass die pNG-Datei in C kopiert wird: \ temp \ NameOfProjec t \ doc \ doc-files, aber es kann nicht angezeigt werden, da der img-link relativ zum Paket ist: c:/temp/NameOfProject/doc/de/company/einige/more/levels/doc-files/classhierarchy .png

ich weiß, dass ich dies durch das Vorsetzen den Weg mit vielen beheben könnte /../../ aber ich würde dies, wenn die Pakettiefe Änderungen anpassen müssen:

<img src="../../../../../../doc-files/classhierarchy.png"> 

Das zweite, was ich mag nicht ist die Tatsache, dass Verzeichnis doc-Dateien im gleichen Pfad ist mein Quellcode ist.

Wie kann ich die Bilder elegant verknüpfen und bereitstellen?

Antwort

3

Oft sprechen Bilder mehr als Worte. Aber eine Klassenhierarchie kann ohne Wirkung auf das Bild selbst ändern. Vielleicht verwenden Sie andere Dokumentationstechniken wie Maven's Site.

In Ihrem Fall ist es ein BW-Bild oder? Vielleicht verwenden Sie besser ascii-art.

Kleine Bilder können auch Inline wie folgt verwendet werden:

/** 
* Foobar.<br /> 
* <img src= 
* "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAAAAXNSR0IArs4c6QAAAA 
* RnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADTSURBVFhH7c9BCsNADEPR3P9aPVjr5KukOBAEnkI 
* WejtDR/ndnuu9Qu28FqEqWR6qkuWhKlkeqpLloSpZHqqS5aEqWR6qkuWhKlkeqv6S1c5717c7Dc/Ujla/uzoM7feci 
* 7PYLJwOPWgLGp6pnd8PFL7h0IPDeWp4RlsLaXimdq7/26QHh/PU8EzttG9wOvSgLWh4pnYYLczqMLTfc67PKu28d32 
* 70/BM7Wh1jKpkeahKloeqZHmoSpaHqmR5qEqWh6pkeahKloeqZHmoemrW42zbB+06mptY9nu7AAAAAElFTkSuQmCC" /> 
*/ 
+1

base64 Codierung des Bildes ist nicht ideal, weil jedes Mal, wenn das Bild wechselt ich das Javadoc aktualisieren muss. Und abhängig von der Größe des Bildes werden die Java-Dateien erheblich wachsen. Neben Klassenhierarchien möchte ich weitere Bilder hinzufügen, die dem Programmierer helfen zu verstehen, wozu die Klassen verwendet werden können. Das Erstellen von Klassenhierarchien aus Quellen ist keine Option.Weder ist ascii Kunst ;-) – Marged

9

ich eine Lösung für die reichlich zumindest zur Verfügung stellen kann „..“ s. Statt zu schreiben:

<img src="../../../../../../doc-files/classhierarchy.png"> 

können wir verwenden:

<img src="{@docRoot}/doc-files/classhierarchy.png"> 

Diese javadoc anweisen wird die „..“ selbst, einzusetzen, so muss ich mich nicht zählen ;-) und ich müssen die ".." s nicht anpassen, wenn sich die Paketstruktur ändert. Der Parameter @docroot kann im Code und in der Befehlszeile verwendet werden, für Details the docs

In meinen Tests sehen war dies mit dem generierten HTML und leben in Eclipse.

+0

Hey, sollte dies nicht in normalen Code verwendet werden, da das Bild nicht nach Chages der realen Klassenhierarchie ändern, aber ich werde es in generierten Code verwenden, danke für den Hinweis! –

Verwandte Themen