gpt4 book ai didi

java - 为什么我无法使用 WildFly 中的 WEB-INF/classes 中的 getResourceAsStream 读取属性文件?

转载 作者:行者123 更新时间:2023-11-29 06:57:09 24 4
gpt4 key购买 nike

<分区>

我电脑的操作系统是 Windows 7 64 位。

我在 Eclipse 中创建了一个非常简单的动态 Web 项目应用程序:

我在 WEB-INF/classes 目录中有一个 app.properties 文件,具有以下属性:

DefaultMaximumBatchSize=1000
DAOFactory=MSSQLSERVER

我有一个 AppProperties 类,它在启动时使用 getResourceAsStream 将上述文件读入 Properties 对象:

public class AppProperties {
private static final Properties APP_PROPERTIES;
static {
InputStream inputStream = null;

APP_PROPERTIES = new Properties();

try {
inputStream = AppProperties.class.getResourceAsStream("/WEB-INF/classes/app.properties");
System.out.println("AppProperties: inputStream=" + inputStream);

if (inputStream != null) {
APP_PROPERTIES.load(inputStream);
}
} catch (Exception e) {
System.out.println("AppProperties: Exception occured; e=" + e);
}
}

public static String getValue(String propertyName) {
if (propertyName == null || propertyName.equalsIgnoreCase(""))
return null;
else
return APP_PROPERTIES.getProperty(propertyName);
}
}

我有一个监听器类AppContextListener:

public class AppContextListener implements ServletContextListener {

public AppContextListener() {
}

public void contextInitialized(ServletContextEvent arg0) {
String defaultMaxBatchSize = AppProperties.getValue("DefaultMaximumBatchSize");
System.out.println("AppContextListener: contextInitialized(ServletContextEvent): defaultMaxBatchSize=" + defaultMaxBatchSize);
}

public void contextDestroyed(ServletContextEvent arg0) {
}

}

我将应用程序部署到 JBoss 4.2.3,运行 JBoss 4.2.3,然后在 server.log 中得到以下输出:

AppProperties: inputStream=java.io.FileInputStream@1adde645
AppContextListener: contextInitialized(ServletContextEvent): defaultMaxBatchSize=1000

完美。

然后我将相同的应用程序部署到 WildFly 8.2.1,运行 WildFly 8.2.1,我在 server.log 中得到以下输出:

AppProperties: inputStream=null
AppContextListener: contextInitialized(ServletContextEvent): defaultMaxBatchSize=null

发生了什么事?从 WEB-INF/classes 目录读取 WildFly 中的属性文件的正确方法是什么?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com