2

我的公司广泛使用 ivy 来下载依赖项。其中一些依赖项很大(约 500MB),需要一段时间才能从远程存储库下载。

为了构建我们的应用程序,我们有一个 ant 脚本,它将首先解析所有依赖项并部署到服务器。

我设置了一个“IVY_HOME”环境变量,以便将所有依赖项下载到 D:\ivy_home 而不是 C:\Users\.ivy2\ - 这是因为 D: 是我的 SSD,它明显更快,它是我的位于本地服务器目录 - 因此将文件从 ivy_home 复制到服务器非常快。

但是由于某种原因,当我在 eclipse 中使用 IvyDE 插件时 - 它总是想下载所有依赖项的单独副本并将它们放入我的 C:\ 中,这会导致几个问题:

  1. 来自 ant 脚本的本地发布将不会在 eclipse 中被拾取,因为它们被放置在不同的位置
  2. 已经在 D 中下载的依赖项:不会被拾取,这使得 eclipse 中的 ivy Resolve 比它需要的慢得多
  3. 依赖项在 Eclipse 中的驱动速度较慢,因此执行搜索和执行这些 jar 的速度也较慢
4

3 回答 3

5

如何创建符号链接以将用户中的 .ivy2 替换为 D?我自己试过了,看起来效果很好。

以root身份打开cmd,然后执行这一行

mklink /d C:\Users\{username}\.ivy2 D:\.ivy2
于 2014-01-18T04:09:44.773 回答
3

我将创建一个 ivysettings.xml 文件并使用caches指令指定缓存的位置。例如,请参阅以下答案:

我可以一起关闭 .ivy 缓存吗?

于 2012-06-27T22:03:21.573 回答
3

为什么不使用 ivysettings.xml 和属性文件全局设置 IVY。这个属性文件可能有这个:

ivy.default.ivy.user.dir=D:\ivy_home

对于单个项目,您可以取消选中每个 IvyDE 库管理的“启用项目特定设置”,因此它们将使用 IVY 全局设置,并带有一个额外的 eclipse 环境配置。

于 2012-06-28T15:53:44.003 回答