【问题标题】:Where does the Ivy lib directory typically go?Ivy lib 目录通常在哪里?
【发布时间】:2012-02-24 07:49:12
【问题描述】:

我试图了解大多数人在他们的源代码树中将 Ivy lib 目录放在哪里。我倾向于在项目根目录中生成它,但这需要我将它添加到每个项目的 svn:ignore 属性中。我可以将它弹出到“out”目录中(通常已经在 svn:ignore 中),但这似乎也不正确,因为它不是由构建生成的(我的 OCD 涵盖了定义和语义)。有什么建议吗?

【问题讨论】:

  • 你可能想试试 www.gradle.org 作为 ant+ivy 的替代品。
  • ANT+ivy 通常是对现有大型构建进行现代化改造的唯一选择。在大型企业中,切换构建技术(甚至是像 Gradle 一样出色的技术)通常不是一种选择。

标签: svn ant build jenkins ivy


【解决方案1】:

我假设您使用的是常春藤retrieve task

默认情况下,它将文件放入名为“lib”的本地目录中。但是,您可以使用 pattern 属性完全自定义位置:

<ivy:retrieve pattern="/home/johndoe/lib/[artifact].[ext]"/>

另类

如果您担心在构建工作区中创建临时文件,我建议使用cachepath 管理一个或多个ANT paths 的替代策略。

<ivy:resolve/>
<ivy:cachepath pathid="compile.path" conf="compile"/>
<ivy:cachepath pathid="runtime.path" conf="runtime"/>
<ivy:cachepath pathid="test.path"    conf="test"/>
<ivy:report/>

resolve 任务将分析并下载依赖项,report 任务将生成 HTML 报告。各种 ANT 路径由位于 ivy 缓存中的工件填充。每组 jar 都是使用 ivy 配置指定的。

以下是一些工作示例:

【讨论】:

  • 不完全是我正在寻找的答案,但我会为你提供彻底的信任。
猜你喜欢
  • 1970-01-01
  • 2012-01-14
  • 2015-04-22
  • 1970-01-01
  • 1970-01-01
  • 2012-03-15
  • 2015-08-28
  • 2016-08-17
  • 1970-01-01
相关资源
最近更新 更多