将文件从 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/classes
和 WEB_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")
我正在将我的应用程序从 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/classes
和 WEB_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")