gpt4 book ai didi

java - 打包时包含运行时依赖项的 Maven 方式

转载 作者:行者123 更新时间:2023-12-01 16:46:32 28 4
gpt4 key购买 nike

我有两个 Maven 项目,A 和 B,其中 A 在编译时依赖于 B,但在运行时 B 需要 A 的一些类。

我所做的是:

A的pom.xml

<dependency>
<groupId>B</groupId>
<artifactId>B</artifactId>
<version>${B.version}</version>
</dependency>

B的pom.xml

<dependency>
<groupId>A</groupId>
<artifactId>A</artifactId>
<version>${A.version}</version>
<scope>runtime</scope>
</dependency>

当让 Jenkins 编译项目时,它无法将彼此编译为下游项目,因为它发现了循环依赖并避免了无限构建循环。

所以,我想到的是一种方法,仅在打包B时(当Jenkins执行mvn package时)添加A的运行时依赖,这样Jenkins就不会在pom中找到循环依赖.xml 文件并配置下游编译。

有没有办法通过现有的 Maven 插件或其他方式来完成此任务?

谢谢

最佳答案

我写了this Maven plugin出于同样的原因。

它将任何列出的 JAR Artifact 添加到使用此插件的 WAR 文件中。如果未找到具有相同版本的 Artifact ,则会解析 JAR 依赖项并将其添加到 WAR 文件中。

关于java - 打包时包含运行时依赖项的 Maven 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49570201/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com