我创建了一个 Servlet 3.0 Web 片段 jar,其中包含一个文件:
/META-INF/resources/WEB-INF/classes/com/foo/whatever/i18n.properties
应用程序启动时 Web 片段启用的 Servlet 上下文侦听器之一执行以下代码:
public static final String BUNDLE_BASE_NAME = "com.foo.whatever.i18n";
//... later:
ResourceBundle.getBundle(BUNDLE_BASE_NAME, locale);
这意味着i18n.properties
如果最终用户未在其 Web 应用程序的同一路径中指定自己的文件,则应使用 Web 片段的上述文件。
这适用于 Tomcat 7,但不适用于 Jetty 8。这是在 Jetty 8 中部署时产生的异常:
java.util.MissingResourceException:找不到基本名称 com.foo.whatever.i18n 的包,语言环境 en_US
有没有办法让 Jetty 8 尊重 web 片段的类路径贡献?