gpt4 book ai didi

java - Wildfly 类加载 : it's better from modules or from ear dependency?

转载 作者:行者123 更新时间:2023-11-29 04:33:30 25 4
gpt4 key购买 nike

我有一个包含很多依赖项的 EAR 项目。一些依赖项是大 jar(超过 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条目。

  • 本地资源 - 在部署中打包的类文件本身,例如来自 WEB-INF/classes 或 WEB-INF/lib 的类文件 war 。
  • Inter deployment dependencies - 这些是对其他的依赖耳朵部署中的部署。这可以包括一个类ear 的 lib 目录,或其他 ejb jar 中定义的类。

更多信息:Class Loading in Wildfly

关于java - Wildfly 类加载 : it's better from modules or from ear dependency?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42788276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com