首页 > 解决方案 > 在 ResourceBundle 类中读取 application.properties 文件

问题描述

我正在使用 ResourceBundle 类读取 application.properties 文件。我得到了例外。下面是我的文件位置。

在此处输入图像描述

我在静态块下访问它,然后在类中读取这些变量。但它正在抛出异常。

package org.dynamicentity.shruti.util;
import java.util.ResourceBundle;
import javax.json.JsonObject;
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;

public class ConnectionUtil {
    
    public static String baseUrl,tokenUrl,grantType,scope,user,password,skillName, accessToken,filePath;
    
    static
    {
    
        ResourceBundle rb= ResourceBundle.getBundle("/ServletContext/WebContent/WEB-INF/lib/application.properties");
        skillName=rb.getString("chatbot.skillName");
        baseUrl= rb.getString("chatbot.baseUrl");
        tokenUrl= rb.getString("chatbot.tokenUrl");
}

它抛出异常。

Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.dynamicentity.practice.ReadDynamicEntityModular.main(ReadDynamicEntityModular.java:24)
Caused by: java.util.MissingResourceException: Can't find bundle for base name /ServletContext/WebContent/WEB-INF/lib/application.properties, locale en_US
    at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
    at java.util.ResourceBundle.getBundleImpl(Unknown Source)
    at java.util.ResourceBundle.getBundle(Unknown Source)
    at org.dynamicentity.util.ConnectionUtil.<clinit>(ConnectionUtil.java:25)
    ... 1 more

我把绝对路径。还从文件名中删除 .proeprties 但它仍然无法正常工作。

标签: javaservletsweb-applicationsproperties

解决方案


推荐阅读