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

Другие вопросы по тегам