【发布时间】:2016-08-05 11:08:54
【问题描述】:
我们在将外部目录(具有 config.properties)添加到类路径时遇到了小问题。如果我们将它添加到类路径中,我们应该能够在 Web 应用程序中读取它。 Web 应用程序中有一些 Spring 应用程序将读取外部属性文件。我在哪里找不到正确的解决方案?你能指点我正确的方向吗?
谢谢, 拉玛克里希纳
【问题讨论】:
我们在将外部目录(具有 config.properties)添加到类路径时遇到了小问题。如果我们将它添加到类路径中,我们应该能够在 Web 应用程序中读取它。 Web 应用程序中有一些 Spring 应用程序将读取外部属性文件。我在哪里找不到正确的解决方案?你能指点我正确的方向吗?
谢谢, 拉玛克里希纳
【问题讨论】:
如果您使用 tomcat,您可以编辑 conf/catalina.properties,并将您的属性文件夹附加到 common.loader 中,例如:
common.loader=...${catalina.base}/myPropertiesFolder
【讨论】:
set CLASSPATH=,对于我们的项目,我们使用catalina.properties 来获取额外的属性。但我认为CLASSPATH 应该可以工作。
将属性文件复制到tomcat\lib 目录可能就足够了,因为tomcat\conf\catalina.properties 已经包含common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar"。
所以lib 不仅会填充任何包含的 jar 内容,还会填充所有包含的文件。
【讨论】:
我有类似的要求,我做了以下:
1) 在 catalina.properties 中添加了针对 shared.loader 的属性文件夹路径。 示例:
shared.loader="c:/ExternalResource"
2) 然后使用以下命令读取属性:-
Thread.currentThread().getContextClassLoader().getResourceAsStream(propertiesFileName)
【讨论】: