Java 如何替换blueprint/context.xml中加载的cfg文件中的文本值

Java 如何替换blueprint/context.xml中加载的cfg文件中的文本值,java,osgi,apache-karaf,blueprint-osgi,Java,Osgi,Apache Karaf,Blueprint Osgi,我正在OSGi-inf/blueprint/下的context.xml中加载一个cfg文件 在my context.xml文件中: 这将正确加载jdbc env属性并将其注入context.xml(testValue稍后将注入Java类,这非常有用) 我的问题是每当我删除此代码时 `<ext:property-placeholder placeholder-prefix="$sys[" placeholder-suffix="]" />` testValue=${

我正在OSGi-inf/blueprint/下的context.xml中加载一个cfg文件 在my context.xml文件中:

这将正确加载jdbc env属性并将其注入context.xml(testValue稍后将注入Java类,这非常有用)

我的问题是每当我删除此代码时

`<ext:property-placeholder placeholder-prefix="$sys["
        placeholder-suffix="]" />`
testValue=${project.version}

现在我没有得到与以前相同的行为,project.version没有加载,testValue保持为空
如何正确插入
${projetc.version}

ext:property占位符定义意味着您可以使用$sys[]引用任何系统属性

因此,要访问属性project.version,请尝试:$sys[project.version]。 当然,要实现这一点,您必须提供系统属性,例如在surefire配置中

testValue=$sys[jdbcUrl]
`<ext:property-placeholder placeholder-prefix="$sys["
        placeholder-suffix="]" />`
with