这是我们在将应用程序从当前生产环境迁移到新数据中心环境时面临的另一个问题(请参阅下面的详细信息)
- 当前生产环境:Java 1.4、Java EE 3、WAS 5.1、JSF 2.1
- 新环境:Java 1.5、Java EE 5、WAS 6.1、JSF 2.1
这里我们有一个具有以下结构的第三方 jar 文件(检查图像 - 请原谅我隐藏了一些细节)
此类具有从 ResourceBundle (db.properties) 加载数据库属性的代码。这是 Cavaj 渲染的代码:
私有静态资源包 getDBProperties() { 如果(dbProperties == null) { dbProperties = ResourceBundle.getBundle("db"); } 返回数据库属性; }
此应用程序在当前环境下运行良好。但不知何故,当我们将应用程序移动到新环境时,我们会得到一个“MissingResourceException”(见下文):
引起:java.util.MissingResourceException:找不到捆绑包 基本名称 db,语言环境 en_US 在 java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:863) 在 java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:832) 在 java.util.ResourceBundle.getBundle(ResourceBundle.java:576) 在 com.myco.wo.vs.util.OrderLovUtilities.getDBProperties(OrderLovUtilities.java:195)
我们尝试了以下解决方法,但都没有奏效:
- 将 db.properties 重命名为 db_en_US.properties
- 将属性文件放入jar
- 在 EAR 级别移动 jar 文件。
请建议这里可能有什么问题。我们能做些什么来让它工作:)
注意:文件 db.properties 位于 WEB-INF/classes 目录下。我们也尝试将其放在上述位置,但无济于事。
问候,
-阿什什