当前位置: 首页 > 知识库问答 >
问题:

艾薇:使用动态修订

夹谷志
2023-03-14

我很难理解如何在Java项目中有效地使用Ivy的动态修订版。

目前,我有以下布局:

lib-a
revision: 1.0.0
status: release
dependencies: none

lib-b
revision: 2.0.0
status: release
dependencies: lib-a, rev 1.0.0

project-a
revision: 3.0.0
status: release
dependencies: lib-b, rev 2.0.0

project-b
revision: 4.0.0
status: release
dependencies: lib-b, rev 2.0.0

这意味着我总是保留发布状态并使用明确的版本号。如果我在开发过程中更改 lib-a,比如说 lib-a,这是非常痛苦的。

我将更改保存在lib-a中,将ivy文件中的修订版本更新为1.0.1。然后,我需要更新lib-b的依赖项,以宣布lib-a的修订版1.0.1。现在,我可以更新lib-bproject-a是可执行的,并且包含我需要运行的集成测试。

第二种方法是使用更新的依赖项重新发布lib-b,但版本相同。这通常适用于命令行上的ant,但不适用于带有ivy-beans插件的NetBeans。它们仍然使用lib-b的ivy文件的缓存版本所以我需要清理本地缓存以使其工作。

我使用一个普通的构建常春藤。xmlant脚本,它位于我们所有项目的SVN存储库中。每个项目都有一个构建。项目根目录中的xml,大多数时候只包含build-ivy.xml。有时会添加或覆盖必要的任务。我刚刚在这里和这里读到,解决方案可能使用动态修订。据我所知,我会将所有ivy文件中的修订设置为integration latest,并将所有ivy-files中的状态设置为integration。然后,ivy将始终自动解析最新版本。但是,我应该将模块的修订设置为什么?完全忽略它?如何创建发布版本?我需要更改所有ivy文件并将状态设置为release,还是在发布模块之前执行交付任务,并在可能的情况下将状态覆盖到release


共有1个答案

汤枫涟
2023-03-14

我建议阅读以下关于Ivy中多模块项目的教程。

  • http://ant.apache.org/ivy/history/latest-milestone/tutorial/multiproject.html

传统上,ANT构建是庞大而单一的。您需要做的是模拟Maven将大型项目拆分为一系列较小构建的方式。每个子版本都会将其工件发布到 ivy 的本地存储库中。

对于这种结构,艾薇有很多有用的任务:

    < li>buildlist -从整个主构建文件中调用。用于查看每个子模块的ivy.xml并确定正确的构建顺序(一些模块依赖于其他模块) < li>buildnumber -查看已经发布的内容,并生成序列中的下一个内部版本号 < li >发布-将工件推送到本地repo(或外部repo,如果在ivysettings.xml文件中进行了配置)
 类似资料:
  • 我正在使用Ivy解决项目中的依赖关系。 我的中的依赖项 我在控制台中收到错误消息 为什么被解析为

  • 自1.14.0开始,zuul网关支持动态修改请求参数。即在网关修改客户端传递过来的参数,然后发送到微服务端。 客户端参数{"name": "jim"} --> zuul中修改为{"name": "Lucy"} --> 微服务端将收到{"name": "Lucy"} 使用场景:客户端请求参数经过加密,在网关解密后,再次发送明文参数给微服务端 如何使用 在网关springboot启动函数中添加如下代

  • socketclient.c 创建动态库工程 在release文件夹下生成如下文件 socketclient.dll 动态库,函数二进制码的集合 socketclient.lib 资源描述文件,描述 socketclient.dll #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <string.h> #include

  • 我有一个具有多个内部连接的查询,所以当我在mysql工作台上运行它时,它可以完美地工作,但是当我运行我的应用程序时,我会得到: javax。艾尔。ELException:java。lang.ClassCastException:[Ljava.lang.Object;无法强制转换为com.proximate.dto.originadOradetaledTo 下面是我执行查询的方法: 这是我的豆子:

  • 本文向大家介绍php中动态修改ini配置,包括了php中动态修改ini配置的使用技巧和注意事项,需要的朋友参考一下 1,运行时改变配置 在前一篇中曾经谈到,ini_set函数可以在php执行的过程中,动态修改php的部分配置。注意,仅仅是部分,并非所有的配置都可以动态修改。关于ini配置的可修改性,参见:http://php.net/manual/zh/configuration.changes.

  • 在我的netty应用程序中,我使用并提供IP密钥映射: 在通道已经处于活动状态并为客户端服务而不中断与这些客户端的通信后,是否可以更改映射(例如添加新ip)?