如何将resourcebundles与jetty一起使用? 我的问题是如何在Jetty项目中包含ResourceBundle?

如何将resourcebundles与jetty一起使用? 我的问题是如何在Jetty项目中包含ResourceBundle?,jetty,embedded-jetty,resourcebundle,Jetty,Embedded Jetty,Resourcebundle,我有一个名为ServletenEnvironment的Web服务项目。 ServleteEnvironment将我的服务导出为分解的war目录,其中包含: [war目录]/WEB-INF/classes/{properties files} [war目录]/WEB-INF/WEB.xml ServleteEnvironment实现JettyWeb项目中的类。 JettyWeb启动jetty服务器,如下所述: Server server = new Server(port); WebAppCont

我有一个名为ServletenEnvironment的Web服务项目。 ServleteEnvironment将我的服务导出为分解的war目录,其中包含:

[war目录]/WEB-INF/classes/{properties files} [war目录]/WEB-INF/WEB.xml

ServleteEnvironment实现JettyWeb项目中的类。 JettyWeb启动jetty服务器,如下所述:

Server server = new Server(port);
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/test");
webapp.setResourceBase("[war directory]//");
HandlerList hlist = new HandlerList();
hlist.addHandler(webapp);
server.setHandler(hlist);
server.start();
最后我有一个Servlet项目,Servlet在我的ServleteEnvironments web.xml中被引用,如下所示:

<!-- Listener -->
  <listener>
    <listener-class>com.basicservlet.BasicListener</listener-class>
  </listener>
  <!-- Servlet -->
  <servlet>
    <servlet-name>basicServlet</servlet-name>
    <display-name>Default Basic Http Servlet</display-name>
    <servlet-class>com.basicservlet.BasicHttpServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <!-- Default Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>basicServlet</servlet-name>
    <url-pattern>/servlet/</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>60</session-timeout>
    <!-- 60 minutes -->
  </session-config>
它返回null

在我的JettyWeb中,在server.start之后,我尝试:

ResourceBundle bundle = ResourceBundle.getBundle(bundleName, locale);
URL rs = this.getClass().getResource(propertiesDir);
System.out.println("Found: " + rs.toString());
它还返回null。 虽然我不相信这个办法会奏效

任何帮助都将不胜感激

Properties properties;
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("application.properties");
properties = new Properties();
properties.load(inputStream);
String value = properties.getProperty(key);

这适用于我的嵌入式jetty和application.properties,它位于类路径上

尝试使用$jetty.home/resources/yourbundle.properties文件夹和$jetty.home我想你指的是war目录?因此,在我的例子中[war directory]/resources/bundle.properties提供的有关如何访问这些bundle的信息并不清楚。这里有很多类加载器,对this.getClass.getResource和ResourceBundle.getBundle的调用都应该在Servlet上下文和范围内进行,比如ServletContextListener或Servlet.init或Servlet请求。从这些作用域之外访问此信息的尝试将导致null。好的,我会尽量澄清。我将尝试编辑我的问题。