【问题标题】:How to get jar versions - checksum method and manifest file not giving version如何获取 jar 版本 - 校验和方法和清单文件未提供版本
【发布时间】:2020-11-17 14:36:47
【问题描述】:

我正在开发一个遗留应用程序及其在 Ant 构建中。现在我们将它从 Ant 移动到 Maven,这需要在 pom.xml 中配置 jar 文件的依赖项。 我需要为大约 60 个罐子生成此信息。我尝试了以下两种获取 jar 版本的方法:

  1. 生成 jar 校验和并使用校验和在 [https://search.maven.org/][1] 上检查相应的 jar
  2. 生成jar的manifest文件,查看implementation-versionbundle-version,通过找到的版本找出jar依赖详情。

这对大多数罐子都有效,但有大约 25 个罐子上述方法都不起作用。

为除这些剩余 jar 之外的所有 jar 生成校验和,校验和在 [https://search.maven.org/][1] 上没有给出任何内容

对于某些人来说,清单文件中没有版本详细信息。

请让我知道如何进行此操作,我现在被困在这里。我不知道这样的罐子在这里可以做什么。

即使我没有找到某些 jar 的详细信息,有什么方法可以将它们仍然包含在我的 pom 文件中 - 有没有办法?如果没有,我可以简单地将它们保留为罐子而不是在 pom 中配置吗?

【问题讨论】:

标签: java maven jar ant checksum


【解决方案1】:

如果你真的想更新项目,我会拿这 25 个 jars 并在 MavenCentral 中查看它们是否有任何版本。

因此,如果您只是在目录中找到 junit.jar,请添加一个相当新的 junit 版本。

当然,这可能会破坏需要修复的东西,但在未来,最好依靠官方的新工件。

如果某些工件无法做到这一点,请将它们添加到您的公司 Nexus/Artifactory(如果您有的话)。

【讨论】:

  • 嘿 Fabian,感谢您的回答,但是对于这 25 个罐子中的一些罐子,我找不到有关 maven Central 或其他任何地方的任何详细信息。其次,对于我可以在 maven central 上看到的那些,但由于缺少版本详细信息,我无法在 pom 中添加任何版本,因为它会破坏项目,因为它只是不适合一个 jar,有多个 jars 并且如果我添加最新版本,则很难追踪项目因此而崩溃
  • 您能否详细说明您提供的最后一个选项,或者我可以手动将这些 jar 添加到我的本地仓库中,或者将它们放入项目中,而无需在 pom.xml 中进行依赖配置
  • 贵公司没有 Nexus/Artifactory 吗?您可以将它们安装到本地存储库,然后将它们添加到 POM 中,但它只能在您的计算机上运行。
  • 我的公司有自己的存储库 - 我也找不到那里的 25 个罐子。当您说将它们安装在本地并将它们添加到 POM 中时,如果我没有任何版本、组 ID、jar 的 artifactid 详细信息以及它们的名称,该怎么办。这就是我挣扎的地方。这就是为什么我问我是否可以让它们在我的项目库中而不是在 pom 文件中配置。
  • 您需要发明 groupId、artifact 和 version。然后你可以将它安装在你的本地存储库中,并将其放入你的 POM 中。最好让您公司存储库的管理员上传它们。如果它们不在 POM 中,则不能在 Maven 项目中使用它们。
猜你喜欢
  • 1970-01-01
  • 2014-05-24
  • 2014-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-20
  • 2021-02-15
  • 1970-01-01
相关资源
最近更新 更多