常春藤配置帮助

时间:2011-08-13 18:32:07

标签: apache configuration ivy

我已经阅读了常春藤文档和其他一些教程,但我现在正试图在项目中第一次使用它,我立即遇到了一些障碍。

  • 在练习中,我想编写所有自己的配置(XML)文件。不确定将ivy.xml,ivyconf.xml或ivy-settings.xml放在何处:我是否将它们放在与build.xml相同的目录中?
  • 除了ivy.xml,ivyconf.xml和ivy-settings.xml之外,还有其他我应该知道的配置文件吗?我把它放在哪里?
  • IvyDE是一个图形化Eclipse插件,以图形方式编辑ivyconf.xml还是编辑其他文件?

感谢您的任何意见 - 在这个神奇的工具上找到好的信息非常困难!

2 个答案:

答案 0 :(得分:1)

您只需要一个文件ivysettings.xml。您可以将它放在build.xml旁边或任何所需的项目目录中。您可以选择将一个或多个属性文件用于不同用途。

除了ivysettings.xml,请记住常春藤缓存目录。通常,所有依赖项解析问题的最佳解决方案是通过删除此目录来清理常春藤缓存。

IvyDE允许您解决Eclipse中的项目依赖项。 IvyDE创建名为ivy.xml的新类路径容器。在这个容器里面你会找到已解析的库。 我建议你使用Eclipse的本地或内部网常春藤存储库,因为如果解析需要一些时间,它将减慢你的项目加载速度。

例如,我放置了我在项目中使用的ivysettings.xml。正如您在Eclipse中看到的那样,有eclipse-ivy.properties文件。在这个文件中,我命令Ivy在Eclipse中使用本地存储库。在Ant脚本中,我默认使用远程存储库,但是可以选择本地存储库。

<?xml version="1.0" encoding="UTF-8" ?>
<ivysettings>
<settings defaultResolver="${ivy.resolver}" />
<statuses default="development">
    <status name="release" integration="false"/>
    <status name="integration" integration="true"/>
    <status name="development" integration="true"/>
</statuses>
<resolvers>
    <ssh name="remote" checkconsistency="true" checkmodified="true" descriptor="required">
        <ivy pattern="ssh://***/home/ivy/repository/[organisation]/[module]/[revision]/ivy.xml"/>
        <artifact pattern="ssh://***/home/ivy/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
    </ssh>
    <filesystem name="local">
        <ivy pattern="${user.home}/.local-ivy-repository/[organisation]/[module]/[revision]/ivy.xml"/>
        <artifact pattern="${user.home}/.local-ivy-repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
    </filesystem>
</resolvers>
</ivysettings>

elipse-ivy.properties:

ivy.resolver=local

答案 1 :(得分:0)

通常,最好创建一个标准化的ivy-settings.xml文件,并将其托管在您的构建可以轻松访问它的位置。对于所有项目,此文件通常都是相同的,并且一旦正确设置,很少更改。在我的开发组中,我们在Web服务器上托管ivy-settings.xml文件,以便URL可以轻松引用它。

我们使用Ant构建,因此我们还提出了一个标准化的ant构建文件,该文件可以托管在某个地方并导入到Ant构建脚本中,或者只需要进行任何类型的自定义,就可以复制到项目目录中。

我发现最好保留Ivy配置文件,并通过覆盖构建脚本和/或ivy.xml文件中的默认值来进行任何类型的自定义。几乎任何你需要改变的东西都可以被覆盖。我建议保持Ivy配置文件不变,因为它使其他用户更容易构建项目。如果您对配置文件进行了大量更改,那么任何其他希望构建项目的开发人员都必须在本地Ivy安装上复制这些更改才能运行本地构建。那是坏事。

IvyDE插件为您的ivy.xml和ivy-settings.xml文件提供编辑器。根据文档,它还提供了自动下载项目依赖项的方法,包括自定义控制台和反向依赖项资源管理器,以帮助解决和解决依赖项冲突。不过,我只使用编辑器,所以我不能保证其他工具。

与Alexey一样,我建议在Ivy中使用存储库管理器。 Artifactory做得很好;一旦它运行,它很容易设置和坚固。

我同意文档还有很多不足之处;我花了几个星期的时间才真正掌握所有部件是如何组合在一起的。最后,这完全是值得的。一旦你解决了所有的问题,一个经过良好调整的工件管理系统确实值得一看。