Javadoc不识别doctitle选项/标志

Javadoc不识别doctitle选项/标志,javadoc,Javadoc,我正在通过gradle使用doclet运行javadoc,当我运行javadoc/doclet任务时,我收到下一个错误: error - invalid flag: -doctitle 然后是下一个用法表 usage: javadoc [options] [packagenames] [sourcefiles] [@files] -overview <file> Read overview documentation from HTML file -public

我正在通过gradle使用doclet运行javadoc,当我运行javadoc/doclet任务时,我收到下一个错误:

error - invalid flag: -doctitle
然后是下一个用法表

usage: javadoc [options] [packagenames] [sourcefiles] [@files]
-overview <file>          Read overview documentation from HTML file
-public                   Show only public classes and members
-protected                Show protected/public classes and members (default)
-package                  Show package/protected/public classes and members
-private                  Show all classes and members
-help                     Display command line options and exit
-doclet <class>           Generate output via alternate doclet
-docletpath <path>        Specify where to find doclet class files
-sourcepath <pathlist>    Specify where to find source files
-classpath <pathlist>     Specify where to find user class files
-exclude <pkglist>        Specify a list of packages to exclude
-subpackages <subpkglist> Specify subpackages to recursively load
-breakiterator            Compute 1st sentence with BreakIterator
-bootclasspath <pathlist> Override location of class files loaded
                          by the bootstrap class loader
-source <release>         Provide source compatibility with specified release
-extdirs <dirlist>        Override location of installed extensions
-verbose                  Output messages about what Javadoc is doing
-locale <name>            Locale to be used, e.g. en_US or en_US_WIN
-encoding <name>          Source file encoding name
-quiet                    Do not display status messages
-J<flag>                  Pass <flag> directly to the runtime system
用法:javadoc[options][packagenames][sourcefiles][@files]
-概述从HTML文件中读取概述文档
-公共仅显示公共类和成员
-受保护显示受保护/公共类和成员(默认)
-包显示包/受保护/公共类和成员
-私人秀所有班级和成员
-帮助显示命令行选项并退出
-doclet通过备用doclet生成输出
-docletpath指定查找doclet类文件的位置
-sourcepath指定查找源文件的位置
-类路径指定查找用户类文件的位置
-排除指定要排除的包的列表
-子包指定要递归加载的子包
-breakiterator使用breakiterator计算第一个句子
-bootclasspath覆盖加载的类文件的位置
通过引导类装入器
-源提供与指定版本的源兼容性
-extdirs覆盖已安装扩展的位置
-关于Javadoc正在做什么的详细输出消息
-要使用的区域设置,例如en_US或en_US\u WIN
-编码源文件编码名称
-安静不显示状态消息
-J直接传递到运行时系统
有人知道为什么Javadoc不接受这个标志吗?理论上,我是从jdk1.6的tools.jar运行javadoc。我认为javadoc会一直接受doctitle选项。谢谢你抽出时间

编辑:该doctitle选项是标准Doclet的一部分,因此看起来我无法访问标准Doclet选项。

编辑:

明白了! 问题出在文档本身。我没有扩展标准Doclet(“公共类MyDoclet扩展标准{”),因此标准Doclet中的标志不可用(doctitle是标准Doclet标志的一部分)


感谢Paulo让我“重新思考”我的答案:-)

您可以在javadoc任务中将任务局部变量“title”设置为空

task javadocTask(type: Javadoc) {
    title = ""
    //Other items like source and options
}
或者

javadocTask.title = ""
为什么

Gradle在javadoc任务中设置局部变量“title”,然后用于填充-doctitle和-windowtitle参数。如果为空,则不会填充字段,可以避免此问题

有趣的是,标题似乎是由java插件填充的,所以如果您从一个没有java的项目(比如聚合器项目)运行javadoc,您不会遇到这个问题,但是如果您将javadoc生成移动到java项目中,您会遇到这个问题


注意:
title=”“
title=null
都适用于最新版本的gradle。这可能是因为gradle知道这两个
“”
null
是空的。但是,在较旧版本的gradle上,有报告称使用
null
不起作用,但一个空字符串起作用。

我认为导入更多的类不会有帮助。在编译的doclet类中,只会提到实际使用的类型,没有其他类型,导入或不导入。您的doclet必须接受t(并解释)给定的选项,而doctitle选项可能对每个doclet都没有意义,因此它不是默认选项。抱歉,你说得太对了。我在编译之前没有清理,所以我在那里混合了很多东西。区别在于“扩展标准”,其中包含doctitle选项。我将编辑答案。非常感谢您的评论!title=null似乎不起作用,但title=”“起作用。@IanG.Clifton有趣的是,
title=“”
title=null
对我有效,但不会失败。您使用的是哪个版本的Gradle?可能代码更改为执行不同版本的String.isEmpty()奇怪的是,新的项目指向Gradle 1.6而不是更新的版本;当我遇到其他问题时,我没有想检查一下,谢谢!因为很明显,关键是标题是空的,不是空的,我更新了答案。