我有一个使用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中有一行
这导致从目录中读取属性文件.我想读的是属性文件,它位于src / main / filters下.我尝试使用../../向上遍历目录,但这没有帮助.使用classpath:也没有用.我可以使用带有“file:”的绝对路径,但这需要项目中的每个开发人员修改配置,这也不好.
总而言之,问题是:如何强制src / test / resources /中的配置文件读取src / main / filters中的属性文件?
还有一个相关的奖励问题:在Java环境中处理文件时,是否还有其他修饰符而不是“file:”和“classpath:”?