6

Java 9 计划很快发布(7 月 27 日)。是否有计划发布符合 Java 9 的模块化 Spring 项目版本(Java 9 项目 Jigsaw)?

4

2 回答 2

4

Spring 5 是 Spring 的下一个主要版本,它不会是模块化的。但是,您可以在module-info文件中使用 Spring 5 jars/artifacts 作为自动模块。请参阅官方博文最新消息

于 2017-05-18T20:31:27.600 回答
4

module-info.java请参阅Declare Spring modules with JDK 9 module metadata issue last commit:

这个问题被标记为“General Backlog”,表示我们不会在 5.1 中处理它(否则它仍然会被标记为 5.1 GA)并且可能不会在后续的 5.x 版本中(否则它会被标记作为“5.x 积压”)。

具体来说,我们还不能发布模块信息文件,因为我们需要为所有可选依赖项提供稳定的模块名称......而且其中许多在这一点上没有声明稳定的模块名称(也就是说,他们没有'甚至不包括在他们的 jar 中的 Automatic-Module-Name 清单条目)。此外,我们需要在 JDK 9+ 上构建整个框架,以便编译器理解 module-info.java 格式,这也不是很简单,即使已知框架本身可以在 JDK 9/10/ 上正常工作。 11 在运行时。

总而言之,我对 5.1 的模块信息文件的预测结果过于雄心勃勃。我们目前的重点是类路径上的通用 JDK 11 兼容性 (SPR-16391) 和模块路径上的自动模块,以及 GraalVM 兼容性 (SPR-16991)。使用 jlink 需要暂时将 module-info.class 文件手动添加到框架 jar 中......这可能会保持这种状态数年,直到我们针对新一代依赖项发布 JDK 11 基线 Spring Framework 6.0 .

于 2018-09-12T10:19:15.780 回答