Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "Christian H. Kuhn" Newsgroups: de.comp.lang.java Subject: gradle javadoc: Falsche Pfade zu Java 11 API Date: Wed, 2 Jan 2019 02:40:53 +0100 Lines: 53 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net OMAC1kHVQbPMEuyZqj6sJguaSFEetGnN+kgOd/OaDWCbhjIx8= Cancel-Lock: sha1:ZhISJEQ3nob/Z756fkA8qaYPC3A= X-Mozilla-News-Host: snews://news.individual.net:563 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 Xref: csiph.com de.comp.lang.java:13228 Liebe Gemeinde, ich versuche seit Stunden zu debuggen, und es mag nicht. Ich will zu einem JavaFX-Projekt mit javadoc die API dokumentieren. Nachdem ich den Neujahrstag zu einer kleinen Update-Orgie (JDK 11, Eclipse 2018-12, gradle 5.0, diverse Plugins und Configs) genutzt habe, klappt das auch. Ich will die Java- und JavaFX-Klassen in meinem javadoc zur jeweiligen API verlinken. Das funktioniert falsch. Benutzt wird der Task javadoc des Plugins java-library. Aus build.gradle: javadoc { options { addBooleanOption('html5', true) setMemberLevel(JavadocMemberLevel.PUBLIC) links('https://docs.oracle.com/en/java/javase/11/docs/api/') links('https://openjfx.io/javadoc/11/') } } Die Java- und JavaFX-Klassen werden als solche korrekt erkannt, es wird in meine doc ein Link eingetragen, der den mit den links-Optionen gesetzten jeweiligen Basispfad nutzt. In den aktuellen Versionen 11.0.1 von Java und JavaFX folgt unter den Basispfaden erst der Modulname, dann die Paketstruktur als Verzeichnisse und zum Schluss der Name der Klasse. Das Interface List wird z.B. unter https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html gefunden. Der von meinem javadoc generierte Link lässt den Modulnamen weg (wie es bis Java 8 auch richtig war), also https://docs.oracle.com/en/java/javase/11/docs/api/java/util/List.html?is-external=true Da gibt es aber keine Dokumentation, nur einen 404. Eclipse selbst kann mit der neuen Struktur (Modulname im Pfad, element-list statt package-list) umgehen, Alt-F2 öffnet die richtige Seite. Alle Kommandozeilen (Git bash, Windows PowerShell) benutzen javadoc aus dem aktuellen JDK 11. Ich weiß nicht, wie ich herausfinden kann, ob gradle evtl. ein älteres javadoc benutzt. Wie biege ich javadoc bei, den Modulnamen bei der Pfadbildung zu berücksichtigen? TIA QNo