java 15 jdeps --print-module-deps 不打印逗号分隔列表windows 10,cmd

问题描述

我有一个打印 jdeps 输出的命令

"C:\Users\test\jdk-15.0.2+7_zip_unzip\bin\jdeps.exe" --print-module-deps --multi-release="11" -cp C:\Users\test\.m2\repository\org\hibernate\hibernate-core\5.4.23.Final\hibernate-core-5.4.23.Final.jar -recursive "mytest.jar"

逗号格式,即 jar1.jar,jar2.jar,...

但我得到的是

 org.springframework.cglib.transform.AbstractProcesstask -> org.apache.tools.ant.BuildException                not found
   org.springframework.cglib.transform.AbstractProcesstask -> org.apache.tools.ant.DirectoryScanner              not found
   org.springframework.cglib.transform.AbstractProcesstask -> org.apache.tools.ant.Project                       not found
   org.springframework.cglib.transform.AbstractProcesstask -> org.apache.tools.ant.Task                          not found
   org.springframework.cglib.transform.AbstractProcesstask -> org.apache.tools.ant.types.FileSet                 not found
   org.springframework.core.CoroutinesUtils           -> kotlin.Metadata                                    not found
   org.springframework.core.CoroutinesUtils           -> kotlin.coroutines.Continuation                     not found
   org.springframework.core.CoroutinesUtils           -> kotlin.coroutines.CoroutineContext                 not found

我做错了什么?

更新 1

--print-module-deps
Same as --list-reduced-deps with printing a comma-separated list of module dependences. The output can be used by jlink --add-modules to create a custom image that contains those modules and their transitive dependences.

所以,我希望输出是这样的

java.base,java.compiler,java.naming,java.security.jgss,java.security.sasl,java.sql,jdk.management,jdk.unsupported

解决方法

所以,我想我明白为什么我会得到这个输出。

出于某种原因,--print-module-deps 选项还会打印出模块上的行 未能找到,这就是为什么我没有看到逗号分隔的输出,如果你试图 使用带有 --​ignore-missing-deps 附加选项的相同命令,您 会看到一个逗号分隔的列表。