将文件从 WEB-INF/wsdl/Schemas/Messages/ 目录加载到 jboss eap 6.4 中的 class 路径

Load files from WEB-INF/wsdl/Schemas/Messages/ directory to class path in jboss eap 6.4

我正在将我的应用程序从 jboss eap 5.1 迁移到 6.4。 我在 WEB-INF/wsdl/Schemas/Messages/ 文件夹中保存了一些 xsd 文件。在我的代码中,我尝试使用以下逻辑检索文件:

this.getClass().getClassLoader().getResource("/../wsdl/Schemas/Messages/MsgSearchDetails.xsd").

在 jboss eap 5.1 中它工作正常但在 6.4 中我无法在此路径上获取文件。 我知道 jboss eap 6.4 从类路径中的 WEB-INF/classesWEB_INF/lib 目录加载文件。

那么如何从 jboss eap 6.4 中的 WEB-INF/wsdl/Schemas/Messages/ 文件夹中读取 xsd 文件?

您可以在 JBOSS_HOME/modules/system/layers/base/your-module/main 的模块文件夹中添加所有 xsd 文件,并在此处定义一个 module.xml,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
 <module xmlns="urn:jboss:module:1.1" name="your-module">
 <resources>
<!-- Modules -->
<resource-root path="."/>
</resources>
</module>

将此模块作为依赖项添加到 jboss-deployment-structure.xml 中的 WAR,然后像这样获取它:

Thread.currentThread().getContextClassLoader().getResourceAsStream("MsgSearchDetails.xsd")