Свойство java.home добавляет дополнительные косые черты, когда оно записывается в файл свойств? - PullRequest
0 голосов
/ 16 февраля 2011

Насколько я понимаю, java.home является встроенным свойством ANT.В нашем сценарии мы записываем значение java.home в другой файл свойств в том же проекте.Однако, мы заметили, что когда мы записываем значение java.home в вышеупомянутый файл свойств, значение записывается с дополнительными слешами (например: 'd: /jdk1.6.0_12' значениезаписывается в вышеупомянутый файл свойств как 'd \: \\ jdk1.6.0_12 \\ jre' ), и эти дополнительные косые черты вызывают проблемы в нашей системе.

Итак, мне нужно ваше предложение / помощь /введите, чтобы знать 1) есть ли способ записи java.home в другой файл свойств без дополнительных косых черт ИЛИ 2) если есть способ написать сценарий в файле сборки ANT, например, при javaСвойство .home будет считано из вышеуказанного файла свойств, который содержит дополнительные слэши, скрипт отрежет нежелательные / дополнительные слэши и вернет точный путь к java.home .

Ответы [ 2 ]

3 голосов
/ 16 февраля 2011

В файле свойств \ является escape-символом, который используется для экранирования всех символов, которые имеют особое значение в синтаксисе файла-свойства, например : здесь. Он должен быть удален при чтении файла свойств. Не так ли?

Для экспорта значения может быть более простым <echo file="...">${java.home}</echo> вместо свойства-файла-экспорта было бы более полезно?

0 голосов
/ 23 февраля 2011

Вот решение этой проблемы:

<path id="property.toreplace.path">
    <pathelement path="${property.toreplace}"/>
</path>
<pathconvert targetos="unix" property="formatted.property.toreplace" refid="property.toreplace.path"/>
...