javadoc 10.0.2 中模块路径上的多版本 log4j-api-2.11.0.jar
Multi-release log4j-api-2.11.0.jar on the the module-path in javadoc 10.0.2
我正在尝试包含 module-info.java
的 javadoc 代码 requires org.apache.logging.log4j;
。
我已经包含了来自 Maven Central 的 jar,它与模块路径上的坐标 "org.apache.logging.log4j:log4j-api:2.11.0
(这是一个多版本 jar)相匹配。
javac
可以很好地编译代码,但以下简化的 javadoc
命令会输出错误:
javadoc --module-path ./log4j-api-2.11.0.jar -d ~/Desktop ./src/main/java/module-info.java
错误:
error: module not found: org.apache.logging.log4j
requires org.apache.logging.log4j;
当我手动将 log4j-api-2.11.0.jar
重新打包为非多版本 jar 时,javadoc
起作用(上面的简化命令输出关于 No public or protected classes found to document
的错误,但我的真实命令起作用,并且该错误表明简化的命令已经超过 module not found
错误)。
javadoc(来自 Oracle JDK 10.0.2+13)是否不支持模块路径上的多版本 jar?
或者 log4j-api-2.11.0.jar
有什么问题可以修复,同时仍将其作为多版本 jar 维护?
正如您在评论中指出的那样,当 module-info.class
驻留在 META-INF/versions/9 中时,这似乎是 javadoc
工具的一个问题。
查看2.11.0
release notes,核心没有太多的实现变化,可以利用org.apache.logging.log4j:log4j-api:2.10.0
留在log4j-api
的多版本 jar 并使用 javadoc
工具生成文件。
我可以用 IDE(IntelliJ) 和命令行确认上面的工作。
这是 Javadoc 工具中的错误,已报告给 Oracle。参见 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8208269。
我正在尝试包含 module-info.java
的 javadoc 代码 requires org.apache.logging.log4j;
。
我已经包含了来自 Maven Central 的 jar,它与模块路径上的坐标 "org.apache.logging.log4j:log4j-api:2.11.0
(这是一个多版本 jar)相匹配。
javac
可以很好地编译代码,但以下简化的 javadoc
命令会输出错误:
javadoc --module-path ./log4j-api-2.11.0.jar -d ~/Desktop ./src/main/java/module-info.java
错误:
error: module not found: org.apache.logging.log4j requires org.apache.logging.log4j;
当我手动将 log4j-api-2.11.0.jar
重新打包为非多版本 jar 时,javadoc
起作用(上面的简化命令输出关于 No public or protected classes found to document
的错误,但我的真实命令起作用,并且该错误表明简化的命令已经超过 module not found
错误)。
javadoc(来自 Oracle JDK 10.0.2+13)是否不支持模块路径上的多版本 jar?
或者 log4j-api-2.11.0.jar
有什么问题可以修复,同时仍将其作为多版本 jar 维护?
正如您在评论中指出的那样,当 module-info.class
驻留在 META-INF/versions/9 中时,这似乎是 javadoc
工具的一个问题。
查看2.11.0
release notes,核心没有太多的实现变化,可以利用org.apache.logging.log4j:log4j-api:2.10.0
留在log4j-api
的多版本 jar 并使用 javadoc
工具生成文件。
我可以用 IDE(IntelliJ) 和命令行确认上面的工作。
这是 Javadoc 工具中的错误,已报告给 Oracle。参见 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8208269。