Java:在 war 中访问属性文件

标签 java configuration properties war

我已经在 StackOverflow 上搜索了“properties inside war”,但没有一个结果适合我的情况。

我正在使用 Eclipse Galileo 和 GlassFish v3 开发一组 Web 服务。我正在使用具有以下结构的“动态网络项目”

Src
-java_code_pkg_1
-java_code_pkg_2
-com.company.config
--configfile.properties WebContent
-META-INF
-WEB-INF
--log4jProperties
--web.xml
--applicationContext.xml
--app-servlet.xml

我想访问“java_code_pkg1”中源文件之一的“configfile.properties”。我正在使用 Spring 框架,一旦应用程序在服务器上启动,该文件就会被实例化。

我尝试了以下但没有成功

getResourceAsStream("/com.company.config/configfile.properties");
getResourceAsStream("/com/company/config/configfile.properties");
getResourceAsStream("com/company/config/configfile.properties");
getResourceAsStream("/configfile.properties");
getResourceAsStream("configfile.properties");

getResourceBundle(..) didn't work either.

是否可以访问不在 WEB-INF/classes 路径下的文件?如果是,那又如何呢?

最佳答案

Properties props = new Properties();
props.load(this.getClass().getResourceAsStream("/com/company/config/file.properties"));

在 Debug模式下工作。我可以在调试器中看到这些值,但在执行“props.load”行之后和进入其下方的灯光之前,我立即收到 NullPointerException。

那是另一个问题。至少现在我知道这是访问配置文件的方式。

感谢您的帮助。

关于Java:在 war 中访问属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3291398/

相关文章:

java - double 转换为分数

java - ORA-01017: 用户名/密码无效;使用 wss4j 时登录被拒绝

java - 实现 spring security 时出现 xmlBeanDefinitionStoreException

c# - 如何自动选择调试库与发布库?

javascript - 比较 JavaScript 中的属性名称

java - java线程数>内核数和垃圾回收

java - yml - 多个键映射到相同的值

xml - 从 JetBrains ReSharper 命令行工具 InspectCode.exe 中排除文件

swift - 在 iOS Swift 3.1 中不知道该类型时如何在 Struct 对象中设置值?

C# 多线程