1

我有一个 ant/ivy 项目,我也在 E​​clipse 中使用。问题是在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 认识到这一点?

4

1 回答 1

1

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

在这里,您已经env.*通过 Ant 设置了属性。你最好让 Ivy 自己用properties和 它的environment属性来做。

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

于 2013-04-29T22:06:45.573 回答