WEB-INF/lib 目录与 Java 9 模块

2022-09-02 11:03:20

Web 应用程序的 WEB-Inf/lib 目录用于 jar 文件,servlet 容器(例如 Tomcat)会自动将其带入应用程序的类路径。对于Java 9的模块化jars,是否有任何想法可以工作(或者将来应该如何工作)?这些模块提供模块,其中用户必须指定应用程序应使用哪些包含/导出的模块/包。(旧)类路径中还有一个附加的模块路径。

模块化的jar是否在没有任何进一步的规范/配置的情况下工作,以便所有导出或包含的模块都在类路径上?

Java EE 8 和 Tomcat 9 发布。这两个项目都声称支持Java 9。因此,应该有一种方法可以以符合模块思想的方式使用Java 9模块。


答案 1

虽然Tomcat不支持运行模块化战争,但你可以看看Piranha Cloud。

食人鱼服务器本身可以在模块路径中运行,并且可以在新的JPMS层中部署WARs,尊重提供的模块信息.class。

https://piranha.cloud/blog/2021/20210128_Modular_applications_with_JPMS

免责声明:我是食人鱼云开发人员


答案 2

Tomcat 9 supports java 9

同样根据堆栈 over flow post -here,Tomcat 9 与 java 9 兼容,并给出了配置步骤。

enter image description here

Tomcat 服务器兼容版本 - 链接


推荐