gpt4 book ai didi

java - 如何为单个代码库但多个 Artifact 配置 Maven

转载 作者:行者123 更新时间:2023-12-01 12:52:17 26 4
gpt4 key购买 nike

我有一个非常大的代码库,可以编译为 JAR。我还使用阴影插件来编译它并将其与所有依赖项一起打包。我还使用war插件来获取WAR文件。

对于 WAR 文件,一旦创建了目标,我就会有一个构建后事件,该事件只需将 WAR 文件复制到其目的地,因此从技术上讲,我对此很擅长。

我遇到的问题是另外两个 JAR。它们都共享相同的artifactId,因为它们都是在单个pom.xml中构建的,并且由于多种原因这是 Not Acceptable (包括但不限于以下事实:某些依赖项的缓存对于意识到这一点是相当愚蠢的) JAR 是精简的,一个是完全依赖的)。

我需要做的是创建一个适合构建(由Jenkins)的pom.xml(或其组),它可以使用相同的代码库(从Github拉取),但创建两个单独的JAR文件,每个文件都有自己的artifactId。

作为一个 Maven 新手,我已经读完了入门书,在我看来,我想要的是一个带有两个模块的父 pom.xml。但据我所知,每个模块都意味着一个具有单独代码的单独目录。正如我所说,这是从相同的代码库构建的。唯一的区别是一个是从“常规”构建构建的,另一个是使用“shade”插件和目标构建的。

我能想到的唯一的另一件事是构建“常规”JAR,然后构建带有“完整?”分类器的阴影 JAR。如果这就是答案,我可以谦虚地请求一些成人监督如何做到这一点,因为我不知道该怎么做。

如果这不是答案,我怀疑这一定是一个常见问题,因此,一些指导会非常有帮助!

最佳答案

我想出的解决方案是对“阴影” jar 使用分类器。因此, Artifact 不会发生碰撞。

然后我在访问它时遇到了问题,但也找到了该问题的解决方案 - How do I access a jar with a classifier?

关于java - 如何为单个代码库但多个 Artifact 配置 Maven,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24130900/

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