4

我运行了以下命令,但我得到了同样的错误:

$ jdeps --generate-module-info . --multi-release 9 libs/log4j-core-2.11.1.jar
Error: log4j-core-2.11.1.jar is a multi-release jar file but --multi-release option is not set

$ jdeps --generate-module-info . --multi-release 10 libs/log4j-core-2.11.1.jar
Error: log4j-core-2.11.1.jar is a multi-release jar file but --multi-release option is not set

$ jdeps --generate-module-info . --multi-release 11 libs/log4j-core-2.11.1.jar
Error: log4j-core-2.11.1.jar is a multi-release jar file but --multi-release option is not set

$ jdeps --generate-module-info . libs/log4j-core-2.11.1.jar
Error: log4j-core-2.11.1.jar is a multi-release jar file but --multi-release option is not set

上面的命令有什么问题?

遵循有关我的环境的其他命令:

$ java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)

$ javac --version
javac 10.0.2

$ jdeps --version
10.0.2

与 相同的错误java-11-oracle

4

2 回答 2

7

--multi-release 选项与模块一起使用时存在错误

jdeps 在非多版本 jar 上执行时失败,并且 --class-path 包含多版本 jar。反之亦然。在设置了适当的 --multi-release 标志并且 --class-path 包含非多版本 jar 的多版本 jar 上执行时,jdeps 失败。

总结了这个问题:

这基本上使多版本 jar 无法与模块一起使用。

于 2018-12-02T15:52:57.500 回答
1

JDK-8229396 修复了 jdeps --generate-module-info 选项以正确使用指定给 --multi-release 选项的版本来解析给定的多版本 JAR。这已在 14 中修复。请在未来几周内试用 EA 版本。

于 2020-01-10T21:10:39.447 回答