gpt4 book ai didi

Maven : Modifying the manifest files of dependency JARs

转载 作者:行者123 更新时间:2023-12-04 16:10:55 25 4
gpt4 key购买 nike

任何帮助或指示将不胜感激。
我需要在构建时将两个字段注入(inject)到我的项目的所有依赖项 JAR 的 list 文件中。

依赖 jars 已经构建并从 repo 中提取。
我需要找到一种方法来获取 JAR 的 Manifest 文件,然后使用当前 pom 文件中的变量对其进行修改。
有没有人这样做过,知道如何做到这一点。
提前感谢您的时间和回复

最佳答案

这实际上并不是 Maven 允许您做的事情。从 Maven 的角度来看,每个具有特定名称的 JAR 都应该与每个具有相同名称的其他 JAR 完全相同。

例如,假设我的项目依赖于 abc-1.0.jar .我指定此依赖项是因为 ALphabet 团队发布了 abc具有 1.0 版本的指定 API 的库。我应该能够从世界上的任何存储库中获取这个 jar 文件,甚至当我的 Internet 中断时从街上的邻居那里获取并手动将其安装到我的本地存储库,并且它应该是完全相同的文件。如果不是同一个文件,那么我将无法保证 .class jar 中的文件将包含我需要使我的构建成功而没有错误的库代码。

如果你真的有动力去做这项工作,那么理论上是可能的。您可以编写一个脚本,它将:

  • 解析 properties 的 POM XML部分并从那里解析出各个属性以及依赖项 jar 的名称
  • 对于每个带有分类器“manifest_injected”的依赖 jar,尝试在本地存储库中找到它。如果不存在,则生成一个具有给定依赖项的空 Maven 项目(没有 manifest_injected 分类器),运行 mvn validate确保已下载依赖项并将其放置在本地存储库中(如果已找到)
  • 克隆所有上述 JAR 文件,打开克隆,使用您之前解析的属性执行您需要的 list 注入(inject),并将注入(inject)的 jar 保存到 Maven 存储库中的适当位置
  • 调用作为参数传递给脚本的 Maven 构建。

  • 祝你好运!

    关于Maven : Modifying the manifest files of dependency JARs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17857529/

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