Ant文件以生成依赖于另一个项目的项目

Ant文件以生成依赖于另一个项目的项目,ant,build,Ant,Build,我需要一个构建文件来构建一个名为a的java项目。项目a与java项目B之间存在依赖关系。该依赖关系是通过Eclipse IDE定义的: 项目A->属性->Java构建路径->选项卡项目->添加->B 关于如何实现此项目构建,我的问题如下: 是否需要将整个B.jar文件附加到A.jar 或者链接已编译的类文件就足够了 如何链接这些资源 当我运行项目时,Eclipse在做什么 这不是一个纯粹的蚂蚁问题。问题是如何获得这种依赖关系(我假设它是一个Jar) 您可以将Antbuild.xml脚本设置为在

我需要一个构建文件来构建一个名为a的java项目。项目a与java项目B之间存在依赖关系。该依赖关系是通过Eclipse IDE定义的:

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

关于如何实现此项目构建,我的问题如下:

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

  • 这不是一个纯粹的蚂蚁问题。问题是如何获得这种依赖关系(我假设它是一个Jar)

    您可以将Ant
    build.xml
    脚本设置为在特定位置检查此依赖项,如果不存在此依赖项,则不尝试进行生成

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

    整个事件的实质是:

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

    这听起来很简单,只是Ivy的在线文档非常糟糕。我强烈推荐史蒂夫·洛夫兰和埃里克·哈彻的《曼宁的蚂蚁行动》。他们有一个关于使用常春藤的极好章节。如果你使用蚂蚁,我强烈建议你使用常春藤。此外,Eclipse还有一个常春藤插件。

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

    您可以将Ant
    build.xml
    脚本设置为在特定位置检查此依赖项,如果不存在此依赖项,则不尝试进行生成

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

    整个事件的实质是:

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

    这听起来很简单,只是Ivy的在线文档非常糟糕。我强烈推荐史蒂夫·洛夫兰和埃里克·哈彻的《曼宁的蚂蚁行动》。他们有一个关于使用常春藤的极好章节。如果你使用蚂蚁,我强烈建议你使用常春藤。此外,Eclipse还有一个常春藤插件。

    非常感谢您的回答!我以前听说过很多关于常春藤的事,所以你说服我试试常春藤。关于你关于蚂蚁行动的建议。我真的很喜欢书,所以如果书再更新一点的话,我早就订了。今天它已经有6年的历史了,所以我害怕买一本过时的书。你能告诉我这本书到底有多新吗?蚂蚁还是蚂蚁,常春藤还是常春藤。在过去的六年中,两者都没有发生太大的变化。我仍然觉得它有用。看看我在Github中的项目。我用它在多个项目中轻松实现了常春藤。谢谢你的提示!因为到目前为止我还没有对Ivy做过任何事情,所以我通过将共享源提取到一个公共项目中来解决我的问题。因此,我只是引用了构建文件中的共享源文件夹,如下所示:非常感谢您的回答!我以前听说过很多关于常春藤的事,所以你说服我试试常春藤。关于你关于蚂蚁行动的建议。我真的很喜欢书,所以如果书再更新一点的话,我早就订了。今天它已经有6年的历史了,所以我害怕买一本过时的书。你能告诉我这本书到底有多新吗?蚂蚁还是蚂蚁,常春藤还是常春藤。在过去的六年中,两者都没有发生太大的变化。我仍然觉得它有用。看看我在Github中的项目。我用它在多个项目中轻松实现了常春藤。谢谢你的提示!因为到目前为止我还没有对Ivy做过任何事情,所以我通过将共享源提取到一个公共项目中来解决我的问题。因此,我只是引用了构建文件中的共享源文件夹,如下所示: