我运行了以下命令,但我得到了同样的错误:
$ 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
相同的错误。
有一个带有--multi-release选项的bug可以使用模块
在非多版本jar上执行时,jdeps失败,而--class-path包含多个版本jar。反之亦然。在多版本jar上执行时,jdeps失败,并且设置了相应的--multi-release标志,并且--class-path包含非多版本jar。
总结了这个问题:
这基本上使得多版本jar无法与模块一起使用。