如何找出另一个 Java 包中包含的 Java 组件的版本

How to find out version of Java component included in another Java package

我试图找出每个 Oracle Glassfish 服务器包中包含的 Grizzly 版本,从 4.0 开始。我尝试使用谷歌搜索发行说明,但除了使用 Grizzly 2.3.23 (https://blogs.oracle.com/theaquarium/glassfish-411-is-now-available) 的 4.1.1 之外找不到任何其他版本,所以我想知道是否可以检查各种 Glassfish 版本的 JAR 包以弄清楚它使用的是什么版本的 Grizzly。

您可以查看 glassfish 服务器,您最终应该会在某处找到 grizzly,可能在 lib 目录中。

看来您也可以创建一个依赖于 glassfish 内核的简单 maven 项目(您需要安装 maven),方法是创建一个文件夹并放置一个包含以下内容的 pom.xml 文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
    <dependency>
        <groupId>org.glassfish.main.core</groupId>
        <artifactId>kernel</artifactId>
        <version>4.1</version>
    </dependency>
  </dependencies>
</project>

然后是 运行 mvn dependency:tree 你会得到像他下面这样的东西:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building test 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: https://repo.maven.apache.org/maven2/org/glassfish/main/grizzly/nucleus-grizzly-all/4.1/nucleus-grizzly-all-4.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/glassfish/main/grizzly/nucleus-grizzly-all/4.1/nucleus-grizzly-all-4.1.pom (8 KB at 6.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/glassfish/grizzly/grizzly-http/2.3.15-gfa/grizzly-http-2.3.15-gfa.pom
Downloaded: https://repo.maven.apache.org/maven2/org/glassfish/grizzly/grizzly-http/2.3.15-gfa/grizzly-http-2.3.15-gfa.pom (5 KB at 12.9 KB/sec)

...

[INFO]    +- org.glassfish.main.grizzly:nucleus-grizzly-all:jar:4.1:compile
[INFO]    |  +- org.glassfish.grizzly:grizzly-framework:jar:2.3.15-gfa:compile
[INFO]    |  +- org.glassfish.grizzly:grizzly-portunif:jar:2.3.15-gfa:compile
[INFO]    |  +- org.glassfish.grizzly:grizzly-http:jar:2.3.15-gfa:compile
[INFO]    |  +- org.glassfish.grizzly:grizzly-http-server:jar:2.3.15-gfa:compile
[INFO]    |  \- org.glassfish.main.grizzly:grizzly-config:jar:4.1:compile

...

然后您可以更改版本并再次 运行 查看它使用的版本,可用版本在这里 https://mvnrepository.com/artifact/org.glassfish.main.core/kernel

The GlassFish source is on GitHub所以你可以只看源代码。对于Grizzly,版本设置在内核pom.xml中的一个属性这里:

https://github.com/javaee/glassfish/blob/4.0/nucleus/pom.xml#L133

要查看不同的版本,您可以使用文件顶部的下拉菜单更改标签。虽然行号略有不同,但这里有一个列表: