FileResolver, переменная окружения и ivyde
У меня есть проект Ant/ Ivy, который я также использую в Eclipse. Проблема в том, что в затмении ivyde жалуется на FileResolver в моем ivysettings.xml, утверждая, что путь должен быть абсолютным. Я считаю, что причина в том, что он не может оценить переменную среды.
Ниже приведен мой файл ivysettings.xml, который ivyde не может проанализировать из-за требования абсолютного пути:
<ivysettings>
<properties environment="env"/>
<properties file="./ivysettings.properties"/>
<settings defaultResolver="chain"/>
<resolvers>
<filesystem name="local">
<ivy pattern="${repository.dir}/[module]/ivy.xml" />
<artifact pattern="${repository.dir}/[module]/[artifact].[ext]" />
</filesystem>
<chain name="chain">
<resolver ref="local"/>
<ibiblio name="maven2" m2compatible="true"/>
</chain>
</resolvers>
<modules>
<module organisation="org.example" resolver="local"/>
</modules>
</ivysettings>
ivysettings.properties содержит:
repository.dir=${env.githome}/metademo/ivy_build/repository
Ant рад этому, но ivyde, похоже, не решает {$env.githome}. Мне нужен какой-то способ выполнить это требование "абсолютного пути" для распознавателя FileSystem для разных сред разработчиков... поэтому я использую переменную среды для ссылки на него. Как мне заставить Айвида распознать это?
1 ответ
Чтобы заставить конфигурацию работать в другой среде, такой как Ant или Eclipse, она должна быть независимой от любых внешних переменных. Файл ivysettings.xml и файлы свойств должны быть достаточны для разрешения любого пути.
Здесь вы установили env.*
свойства через Ant. Вам лучше позволить Айви сделать это самому с properties
И его environment
приписывать.
см. http://ant.apache.org/ivy/history/latest-milestone/settings/properties.html