相关疑难解决方法(0)

Java 9 Module系统是否支持可选的依赖项?

背景

在maven中,工件可以声明依赖关系

<optional>true</optional>
Run Code Online (Sandbox Code Playgroud)

这意味着不需要依赖,但如果存在则可以使用.

模块系统的状态似乎指定模块只能读取它所需的模块.

问题

  • Java 9模块系统确实不支持可选的依赖项吗?
  • 为什么不?
  • Java 9模块系统提供了哪些可选依赖项替代方案?

用例

我有一个框架,集成了应用程序可能使用或不使用的各种库.目前,该框架是一个单独的JAR,它反映了类路径以跳过缺少库的集成代码.

我想我们可以将它分成每个配置的单独模块,但这会导致JAR数量的组合爆炸,因为我们不仅需要为每个可选依赖项单独的JAR,而且对于大多数对都需要单独的JAR可选的依赖项......

java java-platform-module-system java-9

23
推荐指数
1
解决办法
1298
查看次数

需求和模块声明中需要静态之间的区别是什么

需求需要模块声明中的静态模块语句有什么区别?

例如:

module bar {
    requires java.compiler;
    requires static java.base;
}
Run Code Online (Sandbox Code Playgroud)

java java-9 java-module module-info

18
推荐指数
2
解决办法
1931
查看次数