【发布时间】:2010-12-02 06:22:41
【问题描述】:
我有一个使用 Maven 配置的 Java Spring 项目。随着单元测试及其配置文件的数量迅速增加,我试图将测试配置集中到一个属性文件中(同一个,用于构建项目)。
单元测试位于树中(当然,相对于项目路径)
src/test/java/com (...)
这些测试的资源文件在
src/test/resources(...)
最后,资源文件应该读取的属性文件在目录中
src/main/filters
现在,我有一个 Junit 类,我在其中指定配置文件位置,如下所示:
@ContextConfiguration(locations = { "classpath:com/initrode/quartz/SyncManagerJobTest-context.xml"})
在配置文件SyncManagerJobTest-context.xml中有一行
<context:property-placeholder location="/src/main/filters/deploy.local.properties"/>
这会导致从目录中读取属性文件。我想读的是属性文件,它位于 src/main/filters 下。我尝试使用 ../../ 向上遍历目录,但这没有帮助。使用类路径:也没有成功。我可以使用带有“file:”的绝对路径,但这需要项目中的每个开发人员修改配置,这也不好。
总而言之,问题是:如何强制 src/test/resources/ 中的配置文件读取 src/main/filters 中的属性文件?
还有一个相关的额外问题:在Java环境中处理文件时,除了“file:”和“classpath:”之外,还有其他修饰符吗?
【问题讨论】:
标签: java spring file maven-2 properties