如何在Gradle的Javadoc任务中设置--frames选项?
给Gradle 7.4.2的JDK 11 Javadoc添加--frames选项的解决方案
升级到JDK 11后,Javadoc默认移除了框架浏览功能,但我们的用户群体以学生为主,他们更习惯通过侧边栏导航查找内容而非使用搜索框,因此需要恢复该功能。使用Gradle 7.4.2时,发现StandardJavadocDocletOptions类未提供直接设置--frames选项的方法,尝试setStringOption的方式要么不生效,要么生成--frames ''导致Javadoc报错,这里提供一个可行的解决办法:
直接通过extraArgs添加纯命令行参数即可,修改你的Javadoc任务配置如下:
options.memberLevel = JavadocMemberLevel.PROTECTED options.links "https://developer.android.com/references" options.encoding = 'UTF-8' // 新增该行,直接添加--frames选项 options.extraArgs.add('--frames')
这个方法的原理是:extraArgs是Gradle为Javadoc任务预留的自定义命令行参数集合,不管StandardJavadocDocletOptions是否暴露对应选项的设置方法,都能直接通过它添加纯开关类的Javadoc参数。这样生成的配置文件里只会出现单独的--frames,不会附带多余的空字符串,也就避免了Javadoc报错的问题。
内容的提问来源于stack exchange,提问作者user5051323
相关产品推荐
相关产品推荐

