【发布时间】:2024-05-17 23:35:02
【问题描述】:
我最近开始着手迁移我们的大型应用程序,该应用程序包含一个 EAR,其中包含 40 多个独特的单独 EJB jar 项目、一个 Web 应用程序和几个 Java 模型项目,其中包含应用程序的实用程序和帮助程序类。
我们目前正在使用 WebSphere Network Deployment (WAS ND 8.5.5)。 WAS 提供了一种使用共享库定义外部库的简单方法。虽然我可以非常多地使用 WildFly 全局模块来提供所有外部库,但我们希望以正确的方式做到这一点,即使用模块。
这是我迄今为止尝试过的:
-
在
%%WildFly_Install_Dir%%/modules/gov/abc/def/main内部定义了一个自定义module.xml并复制了外部库以查看它是否在服务器启动期间启动。module.xml的内容是:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="gov.abc.def">
<resources>
<resource-root path="."/>
</resources>
</module>
-
在 EAR->META-INF 中使用
MANIFEST.mf引用它,因此将来不会出现可移植性问题,但即使在创建模块并在 EAR 的MANIFEST.mf中引用模块之后,我仍然在部署时收到NoClassDefFoundError。 -
然后,我尝试创建
jboss-deployment-structure.xml并创建相应的部分来引用我创建的自定义模块,它也没有工作,同样的NoClassDefFound错误来了。
有人可以帮助我了解如何实现模块化设置并仍然正确部署应用程序吗?
【问题讨论】:
-
你在 WildFly 中注册了模块吗?
-
是的,我做了 Martijn。
标签: wildfly noclassdeffounderror java-ee-7 wildfly-10