我在用:
我刚刚经历了模块化(使用Java 9模块)的痛苦,这是我在Wildfly 21上运行的Jakarta应用程序。这个应用程序有一个war jar、ejb、实用程序jar(现在都有一个module-info.java )和其他第三方库。整个应用程序编译良好,没有错误。
但我注意到,当我在Wildfly中运行它时,尽管它没有像以前那样运行问题,但它不是模块化的,似乎应用服务器没有考虑它现在是一个模块化的应用程序,并且没有使用模块路径来运行应用程序,而是使用类路径。因此,在运行时,应用程序的模块化特性被忽略了。
是否有一种方法可以指示应用程序服务器以模块化方式运行应用程序,使用模块路径而不是类路径?
很遗憾,我们不得不被像Wildfly这样的应用服务器锁定,阻止我们在我们的应用程序运行时使用如此重要的特性(模块)。
发布于 2021-02-25 11:56:02
虽然Wildfly不支持运行模块化的wars,但您可以查看Piranha。
Piranha服务器本身可以在模块路径中运行,并且可以在一个新的JPMS层中部署WAR,同时尊重提供的模块信息类。
https://piranha.cloud/blog/2021/20210128_Modular_applications_with_JPMS
PS:我是Piranha Cloud开发人员
https://stackoverflow.com/questions/66178238
复制相似问题