Как заменить текстовые значения в файлах cfg, загруженных в blueprint / context.xml - PullRequest
0 голосов
/ 03 октября 2019

Я загружаю файл cfg в моем context.xml в OSGi-inf / blueprint / в моем файле context.xml:

...

<cm:property-placeholder
        persistent-id="com.lolo.${project.version}"
        update-strategy="reload">
        <cm:default-properties>
            <cm:property name="testValue" value="" />
        </cm:default-properties>
    </cm:property-placeholder>
<ext:property-placeholder placeholder-prefix="$sys["
        placeholder-suffix="]" />

в моем cfgполученный файл:

testValue=$sys[jdbcUrl]

это корректно загружает свойство jdbc env и внедряет его в context.xml (testValue будет позже внедрен в класс Java, что очень полезно)

моя проблема - всякий раз, когда я удаляю этот код

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

, и я заменяю

testValue=$sys[jdbcUrl]

with 

testValue=${project.version}

сейчасЯ не получаю то же поведение, что и раньше, project.version не загружается, testValue остается пустым, что мне нужно сделать, чтобы правильно ввести ${projetc.version}?

1 Ответ

0 голосов
/ 22 октября 2019

Определение ext: property-placeholder означает, что вы можете ссылаться на любое системное свойство, используя $ sys [].

Итак, чтобы получить доступ к свойству project.version, попробуйте: $ sys [project.version]. Конечно, чтобы это работало, вы должны указать системное свойство, например, в файле config.

...