【问题标题】:Instruct Wildfly to run an application as a modular application (Java 9 modules)指示 Wildfly 将应用程序作为模块化应用程序(Java 9 模块)运行
【发布时间】:2021-02-12 19:52:47
【问题描述】:

我正在使用:

  • 野蝇 21
  • Java 11

我刚刚经历了模块化(使用 Java 9 模块)我在 Wildfly 21 上运行的 Jakarta EE EAR 应用程序的痛苦。这个应用程序有一个war jar、ejb jar、实用程序 jar(现在都有 module-info.java)和其他第三方库。整个应用程序编译良好,没有错误。

但是我注意到,当我在 Wildfly 中运行它时,虽然它像以前一样在它不是模块化时运行没有问题,但似乎应用程序服务器没有考虑它现在是一个模块化应用程序并且没有使用模块路径运行应用程序,但类路径。因此,在运行时,应用程序的模块化特性被忽略了。

有没有办法指示应用程序服务器以模块化方式运行应用程序,使用 modulepath 而不是类路径?

很遗憾,我们不得不被 Wildfly 这样的应用服务器锁定,阻止我们在应用程序运行时使用如此重要的 Java 功能(模块)。

【问题讨论】:

标签: wildfly java-9 java-module java-platform-module-system


【解决方案1】:

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

Piranha 服务器本身可以在模块路径中运行,并且可以在新的 JPMS 层中部署 WAR,尊重提供的 module-info.class。

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

PS:我是食人鱼云开发者

【讨论】:

  • EAR 怎么样?我的应用程序是 EAR。
  • 目前我们不支持 EAR。但也许您可以尝试将 EJB 移至 WAR。从 Java EE 6 开始支持它
猜你喜欢
  • 2013-08-15
  • 2019-08-20
  • 1970-01-01
  • 2017-07-28
  • 1970-01-01
  • 2013-03-04
  • 1970-01-01
  • 1970-01-01
  • 2019-04-26
相关资源
最近更新 更多