【发布时间】:2014-06-11 08:42:36
【问题描述】:
我想导入所有属性文件,以 .properties 结尾,这些文件包含在我的项目所有 ALL jar 依赖项的 src/main/resource 位置。
我编写了一个 JUnit 测试,其中我的 context.xml 位于 src/test/resources 文件夹中。我使用通配符指定了属性占位符,但它不起作用。
<context:property-placeholder location="classpath*:*.properties"/>
可能是我太笨了,但我在网上找不到解决问题的方法。这里有人知道正确的语法是什么吗?
编辑:
根项目具有 maven 依赖项,从我的工作区解析:
我想导入依赖项目的module.properties文件:
【问题讨论】:
-
我严重怀疑你能否在春天做到这一点。位置的 xsd 明确指出“要解析占位符的属性文件的位置,作为 Spring 资源位置:URL、“类路径:”伪 URL 或相对文件路径。可以指定多个位置,用逗号分隔. 如果既没有指定 location 也没有指定 properties-ref,占位符将根据系统属性进行解析”
-
你试过这个 -
@DevPa 这不会增加对文件系统位置的依赖吗?是否可以将其表示为相对路径?
-
他们在
src/main/resources而不是src\main\resources\some-dir?这个 jar 在您的测试类路径中也可用吗?你是如何将它添加到你的类路径中的? -
您应该将其添加为 Maven 依赖项,目前您正在混合 Maven 和 Eclipse 本地依赖项(据我所知,这是等待发生的麻烦)。如果项目在您的本地工作区中,则 eclipse maven 集成应该能够获取它。如果您已经对该项目有一个 maven 依赖项,该依赖项可能会覆盖本地工作区中的内容,这意味着没有
modules.properties,因为这似乎是一个新文件。