jsf - JBoss 部署中的类加载 as 7

标签 jsf jboss jboss7.x jsf-2.2

阅读 redhat 的文档(https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Development_Guide/chap-Class_Loading_and_Modules.html)我发现应用服务器类加载器 在加载用于避免任何冲突的类时有一个优先级列表 加载类,顺序如下

  • 隐式依赖。 这些是 JBoss Enterprise Application Platform 6 自动添加的依赖项,例如 JAVA EE API。这些依赖项具有最高的类加载器优先级,因为它们包含 JBoss Enterprise Application Platform 6 提供的通用功能和 API。 有关每个隐式依赖项的完整详细信息,请参阅第 3.7.1 节“隐式模块依赖项”。
  • 显式依赖。 这些是在应用程序配置中手动添加的依赖项。这可以使用应用程序的 MANIFEST.MF 文件或新的可选 JBoss 部署描述符 jboss-deployment-structure.xml 文件来完成。 请参阅第 3.2 节“向部署添加显式模块依赖项”以了解如何添加显式依赖项。
  • 本地资源。 打包在部署本身内部的类文件,例如来自 WAR 文件的 WEB-INF/classes 或 WEB-INF/lib 目录。
  • 部署间依赖性。 这些是对 EAR 部署中其他部署的依赖性。这可以包括 EAR 的 lib 目录中的类或其他 EJB jar 中定义的类。

我试图通过在我的 EAR 存档中使用 JSF webapp(rich faces)来测试这个订单 我的耳朵如下:

示例耳

--- sport.war

--- mysql.jar

--- 库

  • 用例 1:我在 webapp (sport.war/WEB-INF/lib) 下添加了 JSF jar:[jsf-api-2.1. 14.jar/jsf-impl-2.1.14.jar/portletbridge-api-3.1.2.Final.jar/portletbridge-impl-3.1.2.Final.jar], jboss server 启动正常,我没有任何异常(exception)
  • Usescase2:我在 sample.ear/lib 下添加了 JSF jar ==> 当我启动 jboss 服务器时出现异常(听起来应用程序服务器加载了 jboss Implicit dependencies 提供的模块 JSF 而不是我的 sample.ear/lib )

我不明白为什么在 1srt 用例Class Loading Precedence 没有得到尊重,而在 2sd 用例是否尊重类加载优先级

请你澄清一下这一点

环境

  1. JBoss EAP 6.1.0.GA (AS 7.2.0.Final-redhat-8)
  2. JDK 6

最佳答案

如果没有看到您获得的确切部署异常,则很难诊断问题。

  • 在第一种情况下,打包的库与您的应用程序加载到同一个类加载器中。

  • 在第二种情况下,打包的库在单独的模块和类加载器中加载。

以上意味着,您遇到的部署问题不一定与类加载优先级相关,它们也可能与类加载隔离相关。

此外,Jboss 和 EAP 已经预打包了 JSF 的实现,您可能会因为版本不匹配而遇到冲突

如果您希望替换 JBoss 上的默认 JSF 实现,更好的选择是将新的 JSF 实现放在静态模块中,就像默认模块一样,并让 Jboss 按需加载它。

关于jsf - JBoss 部署中的类加载 as 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21611394/

相关文章:

mysql - 如何使用 jboss-as-maven-plugin 部署 mysql 数据源

jboss7.x - 无法从远程机器访问 JBoss AS 7

jsf - 在 Tomcat 服务器上部署 JSF 应用程序时出错

jsf - 如何从 <p :galleria 获取所选图像

java - 查找请求的服务器主机 IP?

java - 从 Tomcat 服务器迁移到 JBoss 时数据源错误?

java - 关于在 jBoss 中处理多个 ear 部署的建议

javascript - a4j :jsFunction not called from another script

jsf - 如何更改 Primefaces 图表中的颜色?

jboss - JBoss AS 7 中的 server.xml 等价物