首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解决Java 9模块系统中的可选依赖关系

解决Java 9模块系统中的可选依赖关系
EN

Stack Overflow用户
提问于 2018-02-03 02:09:23
回答 1查看 143关注 0票数 5

Java9模块系统通过requires static my.module支持可选的依赖关系。依赖只在编译时使用,即使在模块路径中,它也不会在运行时被解析。那么,如何解决可选的依赖关系呢?

  1. A解决方案:添加标志--add-modules my.module问题:是将依赖项添加到根依赖项,还是将其添加为根依赖项?
  2. 有可能有一个直接的requires来避免使用add-modules标志吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-03 02:13:56

一个解决方案:添加标志--添加模块my.module。问题:是将依赖项添加到根依赖项,还是将其添加为根依赖项?

使用标志--add-modules添加的模块被添加到默认的根模块集和模块图中,并在运行时解析以供执行,因为在编译期间对模块的依赖被定义为可选。

是否有可能有一个直接的要求避免使用附加模块标志?

是的,对于这样的依赖项,您也可以有一个直接的requires,并确保模块被非选择性地添加到模块图中,但是当您考虑项目的可选依赖项还是非可选依赖项时,这是一个设计问题。

requires static基本上提供了一种指定模块依赖的方法,该依赖在编译时是强制性的,但在运行时是可选的,用于那些并非严格必要的库,但如果在运行时存在,则可以利用这些库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48593262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档