以下是 JBossAS 7.1 Developer Guider:
更改 ResourceBundle 位置 在以前的 AS 版本中,JBOSS_HOME/server//conf/ 在类路径中可用。因此,该位置的属性文件在应用程序的类路径中可用。
在 AS7 中,要在类路径中获取这些属性,请将它们打包到您的应用程序中。例如,如果您正在部署 .war,则将这些属性打包到 WAR WEB-INF/classes/ 文件夹中。如果您希望 .ear 中的所有组件都可以访问这些属性,则将它们打包到某个 .jar 的根目录中,并将该 jar 放在 EAR lib/ 文件夹中。
但是如果资源文件太多,这种方法就不太好了,我们无法将所有资源文件打包到jar或ear中。
对于新的类加载方法——模块。我尝试以下方法:
创建 module.xml 文件 .. 您将为 instnace custom.myconfig 选择模块名称...
<resources> <resource-root path="."/> <!-- Insert resources here --> </resources> <dependencies> </dependencies> </module> In your jboss-deployment-structure.xml include this module to your app <jboss-deployment-structure> <ear-subdeployments-isolated>false</ear-subdeployments-isolated> <deployment> <dependencies> <module name="custom.myconfig/> </dependencies> <resources> </resources> </deployment> <sub-deployment name="My_WAR.war"> <dependencies> <module name="custom.myconfig" /> </dependencies> </sub-deployment>
https://community.jboss.org/message/723631
但是我发现你不能设置绝对路径,比如:[resource-root path=""C:\resourcefolder"]。
这意味着您还需要包含 JBossAS 7 上的所有资源文件。
在 JBossAS 5.x-6.x 上非常简单,只需要在类路径中添加像“C:\resourcefolder”这样的文件夹路径就可以了。但这在 JBossAS7 上是一项不可能完成的任务。