jdeps命令与“ --multi-release”选项一起使用失败

时间:2018-12-02 15:38:49

标签: java log4j java-9 java-11 jdeps

我运行了以下命令,但出现了相同的错误:

$ 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相同的错误。

2 个答案:

答案 0 :(得分:5)

有一个bug,带有--multi-release选项,可用于模块

  

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

其中总结了问题:

  

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

答案 1 :(得分:1)

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