我有一个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认识到这一点?
答案 0 :(得分:1)
为了使配置在Ant或Eclipse等不同环境中工作,它应该独立于任何外部变量。 ivysettings.xml文件和属性文件应足以解析任何路径。
您可以通过Ant设置env.*
属性。您最好让Ivy使用properties
及其environment
属性自行完成。
cf http://ant.apache.org/ivy/history/latest-milestone/settings/properties.html