以下案例:
在我的 test_property.cfg 文件中,我有属性行:
...
hibernate/persistence.schema=TEST_1
...
persistence.xml 中的我有设置行:
...
<property name="hibernate.default_schema" value="${hibernate/persistence.schema}" />
....
但是在构建项目后,值$ {hibernate / persistence.schema} - 没有替换
我使用blueprint标签的xml文件 - 没问题,但我试图找出如何从test property.cfg中使用persistence.xml的可替换值
答案 0 :(得分:1)
Cfg 文件仅在运行时时使用,而不是在构建阶段使用。
- 在构建阶段,您可以通过在包含persistance.xml的文件夹上启用ressource来解决maven变量(here是一些有用的文档)。
- 在运行时,无法将cfg文件中的属性绑定到xml其他文件。不要忘记捆绑已经建成,因此它是一个不可变的罐子。
我的解决方案:
- 定义一个消耗cfg属性的新bean。在这里,我们确信将立即检测到cfg在运行时的任何更改。
- 在那个bean中,读取xml文件并覆盖已从cfg中读取的属性。