2

我需要一个构建文件,它构建一个名为 A 的 java 项目。项目 A 对 java 项目 B 有依赖关系。依赖关系是通过 Eclipse IDE 定义的:

项目 A -> 属性 -> Java 构建路径 -> 选项卡项目 -> 添加 -> B

根据如何实现此项目构建,我的问题是:

  1. 是否需要将整个 B.jar 文件附加到 A.jar 中?
  2. 或者链接编译的类文件是否足够?
  3. 我如何链接这些资源?
  4. 当我运行项目 A 时,Eclipse 在做什么?
4

1 回答 1

4

这不仅仅是一个 Ant 问题。问题是如何获得这种依赖关系(我假设它是一个 Jar)。

您将 Antbuild.xml脚本设置为在特定位置检查此依赖关系,如果不存在则不要尝试进行构建。

但是,最好的方法是使用 Ivy 来处理这些类型的依赖关系。Ivy 与 Ant 一起处理依赖管理,并且实际上与另一个名为 Maven 的构建/依赖系统一起工作。

整个事件的本质是这样的:

  • 您有一个发布存储库。您可以使用 Maven 存储库,例如 Nexus 或 Artifactory。这是您的站点运行的本地存储库。这个本地存储库可以连接到 World Wide Maven 存储库,因此所有依赖项都可以由 Ivy 处理。
  • 项目“B”构建并将此依赖项部署到发布存储库。
  • 项目“A”有一个ivy.xml文件告诉项目它依赖于这个工件。
  • 当您构建项目“A”时,它会自动从发布存储库中获取所需的工件并使用它。

这一切听起来都很简单,只是 Ivy 的在线文档非常糟糕。我强烈推荐 Steve Loughran 和 Erik Hatcher 的 Manning 的Ant in Action。他们有一个关于使用 Ivy 的优秀章节。如果你使用 Ant,我强烈推荐使用 Ivy。而且,Eclipse 也有一个 Ivy 插件。

于 2013-04-22T18:32:40.487 回答