我最近开始着手迁移我们的大型应用程序,该应用程序包含一个 EAR,其中包含 40 多个独特的单独 EJB jar 项目、一个 Web 应用程序和几个 Java 模型项目,其中包含应用程序的实用程序和帮助程序类。
我们目前正在使用 WebSphere Network Deployment (WAS ND 8.5.5)。WAS 提供了一种使用共享库定义外部库的简单方法。尽管我可以非常多地使用 WildFly 全局模块来提供所有外部库,但我们希望以正确的方式做到这一点,即使用模块。
这是我到目前为止所尝试的:
module.xml
在内部定义了一个自定义%%WildFly_Install_Dir%%/modules/gov/abc/def/main
并复制了外部库以查看它是否在服务器启动期间启动。内容
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>
使用
MANIFEST.mf
内部 EAR->META-INF 引用它,因此将来不存在可移植性问题,但即使在创建模块并在MANIFEST.mf
EAR 中引用模块之后,我仍继续NoClassDefFoundError
进行部署。然后,我尝试创建
jboss-deployment-structure.xml
并创建相应的部分来引用我创建的自定义模块,它也没有工作,同样的NoClassDefFound
错误来了。
有人可以帮我解决如何实现模块化设置并仍然正确部署应用程序吗?