Doclet sınıfı:
public class ExtractCommentsDoclet {
public static boolean start(RootDoc root) throws IOException {
for (ClassDoc c : root.classes()) {
print(c.qualifiedName(), c.commentText());
for (FieldDoc f : c.fields(false)) {
print(f.qualifiedName(), f.commentText());
}
for (MethodDoc m : c.methods(false)) {
print(m.qualifiedName(), m.commentText());
if (m.commentText() != null && m.commentText().length() > 0) {
for (ParamTag p : m.paramTags())
print(m.qualifiedName() + "@" + p.parameterName(), p.parameterComment());
for (Tag t : m.tags("return")) {
if (t.text() != null && t.text().length() > 0)
print(m.qualifiedName() + "@return", t.text());
}
}
}
}
return true;
}
private static void print(String name, String comment) throws IOException {
if (comment != null && comment.length() > 0) {
new FileWriter(name + ".txt").append(comment).close();
}
}
}
Ve maven yürütme: sınıfyolundan
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
<configuration>
<doclet>ExtractCommentsDoclet</doclet>
<docletPath>${project.build.directory}/classes</docletPath>
<reportOutputDirectory>${project.build.outputDirectory}/META-INF</reportOutputDirectory>
<useStandardDocletOptions>false</useStandardDocletOptions>
</configuration>
</plugin>
Oku docs: Burada 2 cevaplar yana META-INF/apidocs
onlar ile yapılabilir olamaz diyor derlenmiş kod, kaynak kodu ile yapabilmeniz gerekir. Ve bunu yapmak için "javadoc'u kaynaktan al" komutunu aramayı deneyin ve ardından bazı açık kaynak araçlarını bulun ve ihtiyacınıza göre değiştirin. –
Ben kaynak kodunun sahibi olduğumdan beri @Puce ile gitmek çok daha kolay olduğunu düşünüyorum! –
Asıl soru şudur: JavaDocs'a ne için ihtiyacınız var? Kullanım durumu nedir? – Thomas