【发布时间】:2017-03-14 14:10:02
【问题描述】:
我有一个包含很多依赖项的 EAR 项目。 有些依赖项很大(超过 4 mb),所以我更喜欢将它们作为模块安装在 wildfly 上,并在 jboss-deployment.xml 中添加模块依赖项。
例如,我们有 org.mypackage.MyClass,最好从 ear/lib 目录中的常规依赖项或从 JBOSS_HOME/module 加载该类?有没有效率损失?
【问题讨论】:
我有一个包含很多依赖项的 EAR 项目。 有些依赖项很大(超过 4 mb),所以我更喜欢将它们作为模块安装在 wildfly 上,并在 jboss-deployment.xml 中添加模块依赖项。
例如,我们有 org.mypackage.MyClass,最好从 ear/lib 目录中的常规依赖项或从 JBOSS_HOME/module 加载该类?有没有效率损失?
【问题讨论】:
根据 Wilfly Doc:
Java 应用程序中的一个常见错误来源是在部署中包含同样由容器提供的 API 类。这可能会导致创建类的多个版本并且部署无法正确部署。为了在 WildFly 中防止这种情况,模块依赖项以特定顺序添加,以防止这种情况发生。
按照优先级从高到低的顺序
系统依赖项 - 这些是添加到 由容器自动生成的模块,包括 Java EE api。
用户依赖项 - 这些是通过
添加的依赖项
jboss-deployment-structure.xml 或者通过Dependencies: manifest
进入。
【讨论】: