【问题标题】:jdeps command does not work with -p attributejdeps 命令不适用于 -p 属性
【发布时间】:2020-06-11 11:50:47
【问题描述】:

当我执行这个命令时:

jdeps  --module-path out --module test

很好,它会打印所有信息。但是当我用-p替换--module-path时,它会抛出一个异常:

jdeps -p out --module test
Exception in thread "main" java.lang.module.FindException: Module test not found

但是根据java我们可以用-p替换--module-path

那么为什么会抛出异常呢?

【问题讨论】:

    标签: java module java-11 jdeps


    【解决方案1】:

    虽然对于多个不同的程序,这些选项通常是一致的,但 -p 选项并非如此。 java 的 Oracle 文档说:

    --module-path modulepath... 或 -p modulepath
    分号 (;) 分隔的目录列表,其中每个目录都是一个目录 模块。

    但是对于jdeps,它是:

    -p pkg 名称、-package pkg 名称或 --package pkg 名称
    查找与指定包名称匹配的依赖项。您可以为不同的包多次指定此选项。

    使用示例

    此示例基于名为 msg.service.app 的模块。它只包含一个包msg.application

    不使用-p获取模块信息:

    ..snip..>jdeps --module-path target --module msg.service.app
    msg.service.app
     [file:///C:/..snip../target/msg.service.app/]
       requires mandated java.base (@11.0.3)
       requires msg.service.api
    msg.service.app -> java.base
    msg.service.app -> msg.service.api
       msg.application            -> java.lang                  java.base
       msg.application            -> java.util                  java.base
       msg.application            -> msg.service                msg.service.api
    
    ..snip..>
    

    获取依赖包msg.service的信息:

    ..snip..>jdeps --module-path target -p msg.service --module msg.service.app
    msg.service.app
     [file:///C:/..snip../target/msg.service.app/]
       requires mandated java.base (@11.0.3)
       requires msg.service.api
    msg.service.app -> msg.service.api
       msg.application            -> msg.service                msg.service.api
    
    ..snip..>
    

    java.base 上使用它以找出依赖于sun.util.spi 包的示例:

    ..snip..>jdeps --module java.base -p sun.util.spi
    java.base
     [jrt:/java.base]
    java.base -> java.base
       java.util                  -> sun.util.spi               java.base
       sun.util.locale.provider   -> sun.util.spi               java.base
    
    ..snip..>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 2021-06-17
      • 2011-03-28
      • 2010-10-25
      • 1970-01-01
      相关资源
      最近更新 更多