我应该为 jar commons-lang.jar 使用哪个 pom 依赖项

发布于 2025-01-03 06:54:01 字数 368 浏览 0 评论 0原文

如果 jar 名称中没有版本,我如何知道应该使用哪个版本的 pom 依赖项。例如 jar commons-lang.jar,我应该使用什么版本的 pom 依赖项?

以下是其在 Maven 中央存储库上的搜索结果 - http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22net.sf.staccatocommons%22%20AND%20a%3A%22commons-lang%22

How do I know which version of a pom dependency I should use if its version is not in the jar name. For example the jar commons-lang.jar, what version of the pom dependency should I use ?

Here are its search results on maven central repo - http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22net.sf.staccatocommons%22%20AND%20a%3A%22commons-lang%22

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

秋意浓 2025-01-10 06:54:01

首先,使用 Apache 中的一个。

其次,你有两个选择,2.x 或 3.x 分支;通过搜索 mvnrepository.com

2.6

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

3.1

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.1</version>
</dependency>

如果您使用 Maven,那么您不应该“只是一个 jar”,您应该只了解 POM 依赖项。

(截至 2014 年 2 月,版本已达到 3.3.2,2.x 系列仍为 2.6。请注意,您可能在同一个应用程序中使用这两个版本,因为它们的软件包不同。)

First, use the one from Apache.

Second, you have two options, the 2.x or 3.x branches; from searching mvnrepository.com:

2.6

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

3.1

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.1</version>
</dependency>

If you're using Maven, you shouldn't have "just a jar", you should only know about POM dependencies.

(As of Feb 2014 it's up to 3.3.2, the 2.x series is still at 2.6. Note that you may use both in the same application because of their different packages.)

梦初启 2025-01-10 06:54:01

虽然其他答案是正确的,但找到未知 jar 的精确匹配的一种非常方便的方法是创建 jar 的 sha1 校验和,然后进行校验和搜索,其中您所拥有的只是 jar 本身并且不包含有用的清单在底部高级搜索中的 http://search.maven.org 上或您自己的 Nexus 实例上下载中央存储库索引的存储库服务器。

顺便说一句,您在central 上的搜索不正确,因为它包含错误的groupId。这是更正后的链接:

http://search.maven。 org/#search%7Cga%7C1%7C%22commons-lang%22

While the other answers are correct a very handy way to find out exact match for an unknown jar where all you have is the jar itself and it does not contain a useful manifest is to create a sha1 checksum of the jar and then do a checksum search on http://search.maven.org in the Advanced Search at the bottom or on your own instance of a Nexus repository server that downloaded the index of the Central Repository.

And btw your search on central was incorrect since it had the wrong groupId as part of it. Here is a corrected link:

http://search.maven.org/#search%7Cga%7C1%7C%22commons-lang%22

韶华倾负 2025-01-10 06:54:01

如果您要迁移到 Maven 并且只有一堆 jar,那么您可以尝试检查这些 jar 内的 META-INF/MANIFEST.MF 文件。

我刚刚打开 commons-lang.jar 并在其 META-INF/MANIFEST.MF 中看到以下内容:

...
Implementation-Title: Commons Lang
Implementation-Vendor: The Apache Software Foundation
Implementation-Vendor-Id: org.apache
Implementation-Version: 2.4
...

因此您可以使用 Implementation-Version code> 作为您在 pom.xml 中的版本:

<dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</artifactId>
  <version>2.4</version>
</dependency>

If you are migrating to Maven and just have a bunch of jars then you can try examining their META-INF/MANIFEST.MF files inside of those jars.

I've just opened commons-lang.jar and saw the following in its META-INF/MANIFEST.MF:

...
Implementation-Title: Commons Lang
Implementation-Vendor: The Apache Software Foundation
Implementation-Vendor-Id: org.apache
Implementation-Version: 2.4
...

So you can use Implementation-Version as your version in pom.xml:

<dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</artifactId>
  <version>2.4</version>
</dependency>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文