generate-module-info jdeps 时缺少依赖项
Missing dependencies when generate-module-info jdeps
我正在尝试使用以下命令 运行 jdeps:
jdeps --module-path modules --generate-module-info out com.demo.market.jar
我的com.demo.market.jar
同时依赖于应用程序模块和自动模块。
我将所有依赖项放在 'modules' 文件夹中,但出现错误:
Error: missing dependencies
com.demo.market.platform.MarketPlace -> com.demo.client.wholesale.Client not found
com.demo.market.platform.MarketPlace -> com.demo.product.api.Product not found
com.demo.market.platform.MarketPlace -> com.demo.product.laptop.Laptop not found
com.demo.market.collector.ProductsCollector -> com.demo.logistic.DeliveryService not found
com.demo.market.collector.ProductsCollector -> com.demo.product.api.Product not found
但是当我添加 --add-modules
时它工作正常。
jdeps --module-path modules --add-modules com.demo.client,com.demo.product,com.demo.logistic --generate-module-info out com.demo.market.jar
我是不是做错了什么?我以为 jdeps 会找到所有模块而不是手动添加它们。
当您执行以下操作时:
jdeps --module-path modules --generate-module-info out com.demo.market.jar
从目录中解析的模块是可观察模块,在您的情况下,它们无法进入根模块[=38] =].
关于问题的另一部分 -
jdeps --module-path modules --add-modules com.demo.client,com.demo.product,com.demo.logistic --generate-module-info . com.demo.market.jar
而另一方面,显式添加它们可确保模块存在于根模块集中。
作为替代方案(来自 JEP261#Module System,您可以尝试使用命令
jdeps --module-path modules --add-modules=ALL-MODULE-PATH --generate-module-info out com.demo.market.jar
As a final special case, at both run time and link time, if is ALL-MODULE-PATH then all observable modules found on the relevant
module paths are added to the root set. ALL-MODULE-PATH is valid at
both compile time and run time. This is provided for use by build
tools such as Maven, which already ensure that all modules on the
module path are needed. It is also a convenient means to add automatic
modules to the root set.
旁注,就要执行的命令而言:-
- 此外,问题中共享的
jdeps
输出在理想情况下适用于 -verbose:class
。
我正在尝试使用以下命令 运行 jdeps:
jdeps --module-path modules --generate-module-info out com.demo.market.jar
我的com.demo.market.jar
同时依赖于应用程序模块和自动模块。
我将所有依赖项放在 'modules' 文件夹中,但出现错误:
Error: missing dependencies
com.demo.market.platform.MarketPlace -> com.demo.client.wholesale.Client not found
com.demo.market.platform.MarketPlace -> com.demo.product.api.Product not found
com.demo.market.platform.MarketPlace -> com.demo.product.laptop.Laptop not found
com.demo.market.collector.ProductsCollector -> com.demo.logistic.DeliveryService not found
com.demo.market.collector.ProductsCollector -> com.demo.product.api.Product not found
但是当我添加 --add-modules
时它工作正常。
jdeps --module-path modules --add-modules com.demo.client,com.demo.product,com.demo.logistic --generate-module-info out com.demo.market.jar
我是不是做错了什么?我以为 jdeps 会找到所有模块而不是手动添加它们。
当您执行以下操作时:
jdeps --module-path modules --generate-module-info out com.demo.market.jar
从目录中解析的模块是可观察模块,在您的情况下,它们无法进入根模块[=38] =].
关于问题的另一部分 -
jdeps --module-path modules --add-modules com.demo.client,com.demo.product,com.demo.logistic --generate-module-info . com.demo.market.jar
而另一方面,显式添加它们可确保模块存在于根模块集中。
作为替代方案(来自 JEP261#Module System,您可以尝试使用命令
jdeps --module-path modules --add-modules=ALL-MODULE-PATH --generate-module-info out com.demo.market.jar
As a final special case, at both run time and link time, if is ALL-MODULE-PATH then all observable modules found on the relevant module paths are added to the root set. ALL-MODULE-PATH is valid at both compile time and run time. This is provided for use by build tools such as Maven, which already ensure that all modules on the module path are needed. It is also a convenient means to add automatic modules to the root set.
旁注,就要执行的命令而言:-
- 此外,问题中共享的
jdeps
输出在理想情况下适用于-verbose:class
。