ivy 和 ivyde 以及 FileSystem 解析器

Posted

技术标签:

【中文标题】ivy 和 ivyde 以及 FileSystem 解析器【英文标题】:ivy and ivyde and FileSystem resolvers 【发布时间】:2013-04-25 19:10:27 【问题描述】:

我在让 ant/ivy 构建和 eclipse/ivyde 构建相互配合时遇到问题。

这是我的设置,每个开发者的 'git_root' 都不同:

/git_root |
             -/projectA
             -/B  |
                   - projectB1
                   - projectB2
             -ivy_build |
                        - ivy_settings.xml
                        - local_repository

我的 ivy_settings.xml 包含一个 FileSystem 解析器,当然,它必须使用绝对路径。

例如:

<filesystem name="local">
  <ivy pattern="$repository.dir/[module]/ivy.xml" />
  <artifact pattern="$repository.dir/[module]/[artifact].[ext]" />
</filesystem>

那么现在我如何定义 repository.dir 以使 ant 和 ivyde/eclipse 都快乐?

【问题讨论】:

【参考方案1】:

我通常使用 ivy.settings.dir 属性,它解析为 ivy 设置文件的本地目录:

<filesystem name="myrepos">
    <artifact pattern="$ivy.settings.dir/local_repository/[organisation]/[artifact]-[revision].[ext]" />
</filesystem>

【讨论】:

【参考方案2】:

我通常处理它的方式是使用由每个开发人员编辑的属性文件。在该属性文件中,我希望设置 repository.dir 属性。

为了做到这一点,我通常会在 svn/git repo 中检查 ivysettings.local-sample.properties。该文件将包含预期的属性以及要完成的值。

每个开发人员都将签出示例文件并将其复制到ivysettings.local.properties。然后他们编辑文件以在他们的文件系统上设置他们的路径。

ivysettings.xml 中添加:

<properties file="ivysettings.local.properties" />

【讨论】:

以上是关于ivy 和 ivyde 以及 FileSystem 解析器的主要内容,如果未能解决你的问题,请参考以下文章

如何在eclipse中使用Ivy + IvyDE将不同的jar放到lib和web-inf/lib中

Eclipse安装ivy插件

ivy或ivyDE能否在Eclipse中自动将相关jar添加到JAVA构建路径库中?

无法使用 Eclipse 中的 IvyDE 插件从常春藤缓存中删除过时的工件

ivy + eclipse 运行时依赖部署

在 WAR 文件中排除 Ivy 依赖项