java - Javadoc 11 - 流氓?
问题描述
我想为testfx
包编译 javadoc。
所以我获取了源 jar 并提取(testfx-core-4.0.15-alpha-sources.jar、testfx-junit-4.0.15-alpha-sources.jar)。
我发现所有这些包都以“org.testfx ....”开头,所以把它们放在一起......然后我去:
mike@M17A ~/Desktop/temp $ javadoc -d docs -Xmaxwarns 10 -Xdoclint:none -sourcepath . -subpackages org
它列出了以下类型的 100 个错误:
** symbol: class TextFlow
location: class TextFlowMatchers
./org/testfx/matcher/control/TextFlowMatchers.java:157: error: cannot find symbol
private static boolean hasText(TextFlow textFlow, String string) {
**
...然后停止。没有生成 Javadoc!这些(显然)是我试图记录的包之外的类。我不想要这些的任何超链接,请把它们写成无链接的。
注意我之前-Xmaxerrs 10
在命令行中使用了另一个开关 , 。这只是将错误列表限制为 10 个,但同样不会生成 Javadoc 本身。
这种技术曾经奏效。我刚刚升级(?)到 Java 11。这对 Java 11 来说似乎是新的。有人知道如何克服这种废话吗?
后来,为了回应 Slaw
我非常喜欢拥有所有语言的所有模块和框架等的参考文档的本地副本。我不知道在线 Javadoc 的链接。我可能会使用 HTTrack 复制该特定网站并制作本地副本。
我确实尝试了另一条路线:克隆 git repo 并运行./gradlew aggregateJavadoc
. 不幸的是,这失败了:
mike@M17A ~/Desktop/temp2/TestFX $ ./gradlew aggregateJavadoc
> Task :aggregateJavadoc FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':aggregateJavadoc'.
> /home/mike/Desktop/temp2/TestFX/docs/javadoc does not exist
...在您问之前,是的,我尝试在那里创建一个 /javadoc 文件夹,但是该任务将其删除,然后再次抱怨它不存在!
我也尝试了简单的javadoc
任务。这也失败了:
mike@M17A ~/Desktop/temp2/TestFX $ ./gradlew javadoc
> Task :testfx-core:compileModuleInfoJava
/home/mike/Desktop/temp2/TestFX/subprojects/testfx-core/src/main/java/module-info.java:37:
warning: requires transitive directive for an automatic module
requires transitive org.hamcrest;
^
1 warning
> Task :testfx-core:javadoc FAILED
/home/mike/Desktop/temp2/TestFX/subprojects/testfx-core/src/main/java/module-info.java:36:
error: module not found: org.assertj.core
requires static org.assertj.core;
^
1 error
解决方法
幸运的是,我设法获得了对 Java 8 安装的支持,它仍然在我的系统上,就我而言:/usr/lib/jvm/java-8-openjdk-amd64/javadoc。显然我会设置一个符号链接。使用 Java 8 的额外好处:我个人更喜欢 Javadocs 的“框架”版本,即左侧框架中列出的包和类。
结论
是什么导致 Java 背后的聪明人(不是讽刺)修改了这样的东西?我已经非常仔细地查看了 javadoc v. 11 的可用开关和选项。没有什么能让你制作一个简单的,呃,Javadoc,我天真地认为这是 javadoc 实用程序的目的。
解决方案
推荐阅读
- symfony - 不推荐使用参数调用 Doctrine clear()
- angular - 角度日期选择器在 IE 中显示错误的年份(而不是 2019 年显示 1919 年)
- r - 你会如何比较两个大的(cca 2 mil rows x 60 cols)数据框/数据表?
- .net - 根据用户请求访问的组织(按请求)修改 .NET Core 角色
- python - Python web-scraping 在登录页面后产生与浏览器不同的 html
- css - 抑制 css/scss 文件中的声纳警告?
- mdx - 去年工作日比较的 OLAP 多维数据集计算 - MDX
- jupyter-notebook - 指定从 -x 到 x 的范围
- database - 如何安全地向您的平台验证用户身份
- python - 异常后在while循环中继续for循环?