我有三个项目:A、B、C和应该编译它们的ant中的build.xml。
c依赖于B,B依赖于A
到目前为止,我所有的依赖项都在eclipse中,我有一个build.xmlant:
<eclipse.incrementalBuild project="A" kind="incremental"/>
<eclipse.incrementalBuild project="B" kind="incremental"/>
<eclipse.incrementalBuild project="C" kind="incremental"/>
现在,我有常春藤.xml文件 - 例如:
<ivy>
<ivy module="B"/>
<dependencies>
<dependency name="A">
</dependencies>
</ivy>
现在,当我按顺序将A、B、C发布到存储库(我使用sonatype nexus存储库)时,一切都很好,因为存储库也用于解析,所以过程是:1。解决A的依赖关系-没有这样的2。将当前工作区A中的jar上传到存储库3。解析B - A的相关性被解析为相关性4。将当前工作区B中的jar上传到存储库5。解析C - B和A的依赖关系被解析为依赖关系6。将当前在工作区C中的jar上传到存储库
我认为它发布到Nexus是为了交付产品。
我需要的是一个简单的构建.xml编译我的项目 - 所以我不想一直发布新版本。相反,我正在寻找使用常春藤到1的方法。编译 A 2.然后使用已编译的 A 2 编译 B。然后使用已编译的 B,A 编译 C
我考虑过在文件系统中使用一个本地存储库,在这个过程中会产生第1-6阶段——产生要使用的本地jars然而,这有点麻烦,因为:1 .我的解析必须包含两个解析器nexus repo之前的文件系统——这意味着在真正发布时,我必须记得删除本地jars 2。对于我认为可能有更简单的解决方案的东西来说,听起来有点太多了。
本质上,我想模仿eclipse的IVY插件,它可以解决工作区中的依赖关系,并使用工作区中的其他项目编译项目——但我正在寻找最好、最推荐的方法。
谢谢你
你说:
我有三个项目:A、B、C和应该编译它们的ant中的build.xml。
这表明您的项目实际上是一个大型整体构建。
相反,您需要模拟Maven的工作方式。每个模块都需要有自己的构建文件和一个列出该模块依赖项的ivy文件。每个模块都将自己的jar工件发布到存储库(本地或远程)中,使其他模块可以使用ivy解析操作访问它。
以下示例提供了使用ivy构建多模块的ivy文档的链接。
打破一个大项目并不容易,我希望这能有所帮助。
免责声明:我是使用Ant Ivy的新手 我有以下eclipse配置: 项目A取决于项目B和项目C 项目B依赖于项目C 每个项目都有自己的ivy.xml文件。 ProjectA有一个生成。xml文件,如下所示: 因此,运行这个build.xml会导致错误,说ProjectC无法编译,因为它缺少一个*。应该由ivy:resolve命令解析的jar文件。 我的问题是: < li >如何创建一个build
你可以在同一个构建里加入项目之间的依赖, 举个例子, 一个项目的 JAR 文件被用来编译另外一个项目. 在 api 构建文件里我们将加入一个由 shared 项目产生的 JAR 文件的依赖. 由于这个依赖, Gradle 将确保 shared 项目总是在 api 之前被构建. Example 7.13. 多项目构建 - 项目之间的依赖 api/build.gradle dependencies {
我正在将Apache Ivy与Eclipse(IvyDE)一起使用,并试图解决以下问题。我有两个项目,Ivy家长和IvyChild,其中孩子依赖于父级。我为Eclipse Ivy Classpath容器选择了“解决工作区中的依赖关系”的选项。 Eclipse autobuilder工作得很好——我下载并包含了我所有的Ivy依赖项。我打开了父项目和子项目,可以对父项目进行实时编辑,并查看子项目中的编
在使用Maven一段时间后,我对Maven在构建体系结构中带来的许多特性感到兴奋,尤其是依赖项管理。然而,我一次又一次地遇到了一个问题--Maven如何解决多模块项目之间的依赖关系。我想知道这是否是当前Maven实现的大缺陷和/或是否有任何令人满意的解决方案。 假设我有一个多模块的Maven项目。父pom包含三个模块--moduleA(jar)、moduleB(jar)和moduleC(war)。
我有一个Apache Ivy(版本2.4.0)和Netbean IDE(8.0.2)的设置。我无法解决成熟的maven项目的依赖关系(例如:org.glassfish.jersey)。Apache Ivy成功地解决了更特定模块的依赖关系,如(org.glassfish.jersey.core)。 非工作示例: 工作实例: 常春藤。xml ivysettings。xml build.xml(只是IV
我有一个多模块Maven项目,其中包含子模块ModuleA和ModuleB等。ModuleA将ModuleB列为依赖项。但是,当仅构建模块A时,Maven不会解决模块B的依赖关系-导致。我想避免构建整个父级以使构建更快。目前我发现让它工作的唯一方法是使用exec插件和脚本,将父项目称为“ModuleB, ModuleA”,这意味着我必须在每次依赖项更改时更改脚本(例如添加ModuleC)。 是否有