gpt4 book ai didi

java - Maven 在构建我们自己的 custom.jar 时发布和使用第三方运行时 jar

转载 作者:行者123 更新时间:2023-12-04 13:32:56 25 4
gpt4 key购买 nike

我有一个 Maven 项目,我们正在为其加载内部 abc-1.0.jar使用 S3 存储库以及 abc-1.0.jar 所需的任何运行时依赖项作为我项目的一部分,我们以 .zip 的形式加载并将其提取为
趣闻:当我将第三方运行时 jar 称为 zip 时,有些 jar 在构建时可能没有使用 abc-1.0.jar

project.zip
-- lib
-- abc-1.0.jar
-- runtime_jars_for_abc.jar
-- runtime_jars_for_project.jar
交货时有可能 abc-1.0.jar jar 到 my-project运行时 zip 可能有 one set of jars但对于 abc-2.0.jar我需要发货 another set of jars .
我已经通过以 zip 的形式传送它并在创建 project.zip 时解压它来解决这个问题。
但是,我可以发货或宣布那些 runtime.jar吗?连同我的 abc-1.0.jarabc-2.0.jar以便 my-project/pom.xml可以从 mavenCentral() 即时使用该公告或者我的内部 maven-repo ?
编辑
我找到了 maven changes plugin这里 https://maven.apache.org/plugins/maven-changes-plugin/ .这主要是要发布新的更改,但是如何为每个新构建动态使用新更改?有什么想法吗? 🤔
*我在想的是推 abc-1.0.jar连同它的 abc-1.0-pom.xml文件应该包含一些自定义范围或依赖 jar 的逻辑分组,以便我可以指定那些 custom scopesgroups在消费项目中使用 maven copy dependencies plugin 唯一地复制这些 jar https://maven.apache.org/plugins/maven-dependency-plugin/examples/copying-project-dependencies.html但不幸的是 maven 不支持 custom scopes 😞

最佳答案

在您的项目-b 中,为您的版本添加前缀 -快照 , 像这样

<groupId>my.groupid</groupId>
<artifactId>my.artifactid</artifactId>
<version>0.0.1-SNAPSHOT</version>
因此,每次当您在 project-b 中进行更新时,您的 project-a 都会从 Maven 存储库中选择最新的快照
如您所见,maven 通过添加时间戳来组织快照以交付最新发布
enter image description here
请注意,您的项目-a 绝不能进入具有快照依赖项的验收、pprod 或生产环境!

关于java - Maven 在构建我们自己的 custom.jar 时发布和使用第三方运行时 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63966224/

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