在不同的JAR中划分资源包

时间:2013-10-12 00:55:50

标签: java tomcat bundle stripes

我正在使用Stripes在Tomcat服务器上创建一个Web应用程序。 应用程序有多个模块,每个模块都通过自己的StripesResources.properties文件进行本地化。每个模块都打包在WEB-INF/lib下的JAR文件中。

WEB-INF/lib
|- moduleA.jar
|  |- com.some.package
|  |  |- ModuleA.class
|  |- StripesResources.properties
|- moduleB.jar
|  |- com.some.package
|  |  |- ModuleB.class
|  |- StripesResources.properties

问题是只加载了StripesResources文件。我发现资源是由系统ClassLoader加载的,它似乎用它找到的那个名称加载第一个文件。

使用多种资源的最佳做法是什么?

  • 我应该为这些资源文件提供不同的名称吗?
  • 或者某些类是否有任何方法可以使用从中加载的JAR中的.properties?

感谢。

1 个答案:

答案 0 :(得分:1)

正如我所知,Stripes不支持多个资源包(尽管它允许使用单独的文件来显示错误消息和表单标签)。因此,我决定实施自己的LocalizationBundleFactory,使用ClassLoader.getResources(String)加载具有给定名称的所有*.properties个文件。

该解决方案的源代码草图将很快发布。