我知道有@inheritDoc,但它只适用于覆盖其他方法.
我有几个具有许多委托方法的类(不会覆盖其他方法).
他们的Javadoc可以"继承"(更确切地说:复制)吗?
/** here I need the copy of wrappedMethod's Javadoc */
public void delegateMethod(Object param){
innerSomething.wrappedMethod(param);
}
Run Code Online (Sandbox Code Playgroud) 最近,我才知道,有一样的注解compact1,compact2,compact3对于某些类,在Java 8 API文档.
这些似乎被称为配置文件,您可以在概述页面上看到.(请参见下图.)配置文件compact1,compact2,compact3未出现在Java 6或7 API文档中.
它们在Java 8 API doc中意味着什么?


我有一个带有泛型类型P的Java类.我想在Javadoc中记录它.通常我只是这样做:
/**
* ...
* @param <P> the type of publisher
*/
Run Code Online (Sandbox Code Playgroud)
这在实际的Javadoc中显示得很好.但是,CheckStyle警告我需要记录类型P,因为它将<P>呈现为HTML段落.此外,Eclipse格式化程序也将其解释为段落,因此它会混淆格式.
是否有更好的方法来记录类型为P的类型参数?我知道我可以禁用Eclipse格式化程序,不再自动格式化javadoc,但我宁愿不这样做(并且无论如何都不会解决checkstyle问题).
我也知道我可以将P重命名为其他东西,但考虑到我在这里使用的泛型类型的数量,它会使事情的可读性降低很多.
我在项目目录中运行此命令来构建和打包它:
mvn clean javadoc:jar package
Run Code Online (Sandbox Code Playgroud)
我确实JAVA_HOME正确设置了变量.显然:
$ which java
/usr/bin/java
$ sudo ls -l /usr/bin/java
lrwxr-xr-x 1 root wheel 74 Dec 18 23:42 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
$ which javadoc
/usr/bin/javadoc
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么mvn还在抱怨?
Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.8:jar (default-cli) on project foo_bar: MavenReportException: Error while creating archive: Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set. -> [Help 1]
Run Code Online (Sandbox Code Playgroud) 有没有办法将jar中提供的javadoc附加到aar库?没有可用的源代码,并且这两个文件都存在于本地(不在存储库中).
通过以下方式添加aar:
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'library', ext:'aar')
}
Run Code Online (Sandbox Code Playgroud)
并且工作正常(除了无法添加文档).
我尝试了什么(并没有奏效):
环境:
Android-Studio 0.8.2
gradle插件0.12
它可能不可能是ATM(请参阅此错误:https://code.google.com/p/android/issues/detail?id = 73087),但任何解决方法都将不胜感激.
是否/* (non-javadoc)有一个含义,超越指出,以源代码的读者,一个注释块是不是故意Javadoc注释?最近我看到很多代码看起来像这样:
/*
* (non-javadoc)
*
* This method converts widgets to gizmos
*/
public Foo bar() {
...
Run Code Online (Sandbox Code Playgroud)
这是某种既定的惯例吗?如果是这样,它是什么意思(超出明显的字面含义)以及何时使用?
我需要知道如何在运行时读取Javadoc注释(可能是通过反射?)
说我有以下功能:
/**
* function that do some thing
*/
public void myFunc()
{
//...
}
Run Code Online (Sandbox Code Playgroud)
在运行时,我可以通过反射获得有关此函数的更多信息.但无法读取注释.所以问题是,如何在运行时阅读这个javadoc注释.
不幸的是,HTML中没有CDATA.
这很遗憾,因为它非常适合添加javadoc包含XML的注释,因此您不必转义<和>,例如:
/**<![CDATA[ This parses <complexType name=""> ]]>*/
Run Code Online (Sandbox Code Playgroud)
但是,可以javadoc识别CDATA部分,并将其转换为HTML.例如:
This parses <complexType name="">
Run Code Online (Sandbox Code Playgroud)
或者它可以使用比CDATA更简单的语法.因为javadoc是可扩展的,所以有可能有人添加了这个功能; 或者可能javadoc已将它埋在某处...有人知道吗?
我使用了大量可视化的示例测试用例.有没有方便的方法将它们包含在我的Java源代码中并将它们链接到Javadocs中,因此我的IDE可以在编码时自动显示它们(通过在我的IDE中调用javadoc渲染器功能?)
我尝试将图像放在Java源代码旁边并使用<img>,但它没有采用(我使用了png).
(注意 - 在这种情况下,它在我的测试源中)
要keywords在编写Java Docs时表示我应该使用<code>元素还是<tt>元素?是否有一种特殊情况应该优先于另一种?