通过 Ivy / Ant 在 Eclipse 中使用本地依赖项

Using a local dependency in Eclipse with Ivy / Ant

我有一个 ivy.xml 文件,它远程依赖于我拥有的库,例如

<dependency org="myorg" name="myProjectLib" rev="default" conf="default"/>

在 Eclipse 中,如果我的工作区中有 myProjectLib 项目,并且想要依赖该版本,而不是远程版本,我必须 1) 转到项目属性 -> Java Build Path -> Projects -> Required Projects on BuildPath 并在那里添加本地项目依赖项和 2) 在我的 ivy.xml 文件中注释掉远程项目依赖项,以便在 运行 在本地设置项目时实际使用本地依赖项。

<!-- <dependency org="myorg" name="myProjectLib" rev="default" conf="default"/> -->

这对我来说似乎太多了。例如,我在 IntelliJ 中没有这个问题。这样,我就可以将它设置为依赖于本地项目,而不必更改 ivy 文件。我经常 运行 通过注释掉远程依赖来解决 Eclipse 中的依赖问题。关于其他方法或如何简化此工作流程的任何想法/建议?

手动添加项目作为依赖项时,您还应该考虑类路径条目的顺序。如果 IvyDE 类路径容器在依赖项目之前,那么 Ivy 解析的 jar 将优先于 Eclipse 中的项目。如果您手动将项目依赖项移动到 IvyDE 类路径容器之上,那么您应该会看到预期的行为。

然后关于更简单的配置,您可以配置IvyDE 类路径容器以直接在工作区中查找依赖项。您的两个项目都应该在 Eclipse 中由 Ivy 管理它们的依赖项。然后在IvyDE类路径容器的设置中看到"Resolve dependencies in workspace"

有关该功能的更多信息可以在文档中找到:https://ant.apache.org/ivy/ivyde/history/latest-milestone/cpc/workspace.html