FileResolver,环境变量和ivyde

时间:2013-04-29 19:07:27

标签: ivyde

我有一个ant / ivy项目,我也在Eclipse中使用它。问题是在eclipse中,ivyde抱怨我的ivysettings.xml中的FileResolver,声称路径必须是绝对的。我认为,原因是它未能评估环境变量。

以下是我的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解析器执行“绝对路径”要求...所以使用环境变量来引用它。我如何让ivyde认识到这一点?

1 个答案:

答案 0 :(得分:1)

为了使配置在Ant或Eclipse等不同环境中工作,它应该独立于任何外部变量。 ivysettings.xml文件和属性文件应足以解析任何路径。

您可以通过Ant设置env.*属性。您最好让Ivy使用properties及其environment属性自行完成。

cf http://ant.apache.org/ivy/history/latest-milestone/settings/properties.html