0

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

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 吗?

谢谢。

4

1 回答 1

1

正如我所知道的,Stripes 不支持多个资源包(尽管它允许为错误消息和表单标签使用单独的文件)。所以我决定实现我自己的,它将使用给定名称LocalizationBundleFactory加载所有文件。*.propertiesClassLoader.getResources(String)

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

于 2013-10-14T19:17:19.923 回答