Próbuję wygenerować dokumentację, używając javadoc, z jednego lub dwóch pobranych plików jar (ze źródłem oczywiście, po wyodrębnieniu wszystkiego).Ignoruj drobne błędy za pomocą javadoc
Ale używanie javadoc, nawet w pliku Ant, uniemożliwia mi generowanie tego z powodu głupich rzeczy, w szczególności "pakiet XXX nie istnieje" i "nie można znaleźć symbolu" ... Po prostu chcę umieścić javadoc tekst tych rzeczy (odnośniki zewnętrzne) w dokumentach HTML, ale aby udokumentować wszystkie znalezione pliki .java ...
Uwaga dla wszystkich zainteresowanych jest to strona pobierania z plikami do pobrania (zawierającymi źródło), z których Próbuję wygenerować dokumentację API: http://logback.qos.ch/download.html
Po pomoc Mark Rotteveel za mój plik build Ant teraz wygląda tak:
<?xml version="1.0" ?>
<project name="document logback core" default="doc">
<target name="doc">
<mkdir dir="javadoc" />
<property name="excludedPackages"
value="org.codehaus.*,javax.mail.*"/>
<javadoc destdir="javadoc" sourcepath="src" packagenames="main.*"
excludepackagenames="${excludedPackages}"
additionalparam="-Xdoclint:none" />
</target>
</project>
... ale nadal daje błędy 1) o nieodnalezieniu pakietów, w tym "org.codehaus. [Xxx ...]" i "javax.mail. [Xxx ...]" i 2) o nieodnalezieniu symboli (chociaż może to zniknąć, jeśli mogę rozwiązać błędy brakujących pakietów).
Pamiętaj, że kompilacja została uznana za udaną, ale dostaję skargi na to, że nie znaleziono plików źródłowych (gdzie rzeczywiście są skomentowane pliki .java), a żaden HTML nie jest generowany w \ javadoc.
później, po sukcesie Tony Pierce w generowaniu te dokumenty
Zainstalowane Ant 1.9.6, zmienił ścieżkę odpowiednio, sprawdzane, aby upewnić się, że była to wersja używana ... spróbował ponownie. Ponowne niepowodzenie. To był koniec mojej produkcji:
[javadoc] D:\Desktop\Downloads\logback-1.1.7.tar\logback-1.1.7\logback-core\src\test\java\ch\qos\logback\core\appender\ConsoleAppenderTest.java:32: error: package org.junit does not exist
[javadoc] import static org.junit.Assert.assertEquals;
[javadoc]_______________________^
[javadoc] javadoc: error - No public or protected classes found to document.
[javadoc] 1 error
[javadoc] 100 warnings
BUILD SUCCESSFUL Total time: 2 seconds
Tworzy folder javadoc ... ale jest pusty.
Uwaga na powyższy błąd "pakiet nie istnieje" (było wiele innych): ten jest szczególnie tajemniczy, ponieważ domyślam się, że Ant jakoś włączyła domyślnie junit (NB: Jestem kompletnym nowicjuszem w Ant, po prostu pracuję przez " Ant in Action ").
Ale ... z zadaniem Ant javac
można ustawić includeAntRuntime="true"
... zgodnie z tą książką, która dodaje, że Ant ma własny junit.jar
. Niestety zadanie javadoc
nie obsługuje tego atrybutu.
później jeszcze
Moje myślenie było trochę zagmatwane na to, aby być uczciwym: najprostszym sposobem znalazłem kompilacji Javadocs ze słoików źródłowych zewnętrznych jest tylko przez ekstrakcję, a następnie za pomocą wiersz polecenia, zwykle:
javadoc -d docs -Xmaxwarns 10 -Xmaxerrs 10 -Xdoclint:none -sourcepath . -subpackages ch.qos.logback.core
... jak dla javadoc
dla własnego kodu to nie wydaje się być problemem w Gradle (ja glimpsing tylko w Ant, świadomość, że przyszłość jest Gradle ... i nie jest to szczególnie trudne chwyty z podstawami).
NB Jeśli zainstalować wtyczkę Gradle STS dla Eclipse, a następnie utworzyć nowy projekt przy użyciu kreatora Gradle STS plik build zawiera linię
apply plugin: 'eclipse'
... jednym z efektów których jest to, że domyślnie źródło, jak również pliki wykonywalne dla wszystkich twoich zewnętrznych zależności będą pobierane pod GRADLE_HOME podczas kompilacji. Całkiem dobre!
Dzięki ... w rzeczywistości natknąłem się na to. Próbowałem go, uruchamiając javadoc z wiersza poleceń (nie używając Anta). Ale w rzeczywistości nie mogłem nigdzie korzystać z linii poleceń. Ach ... właśnie zobaczyłem twoją edycję ... jeszcze raz dziękuję ... Idę to studiować ... –
próbowałem biegać z tym dodatkowymparamem ... te same wyniki. Czy możesz pokazać bit pliku kompilacji, w którym definiujesz opcję excludedPackages? –
@mikerodent https://github.com/FirebirdSQL/jaybird/blob/master/build/init.xml#L198 Zwróć uwagę, że jeśli problem dotyczy odwołań zewnętrznych, może zajść potrzeba przejrzenia elementów 'classpath' (aby mieć zależności od ścieżki klasy) lub element 'link' (który w moim przypadku wskazuje na api dokumentu JDK). –