1

我已经下载了 TomEE plume 8.0.0-M2、TomEE plus 8.0.0-M2、TomEE webprofile 8.0.0-M2、TomEE microprofile 8.0.0-M2 和 OpenEJB Standalone 8.0.0-M2(来自http://tomee. apache.org/download-ng.html )

我已经安装了所有这些 TomEE 版本,并在解压后更改了这些文件夹的名称,但现在,我无法检查我正在使用哪个版本。我曾尝试使用 tomee-catalina-8.0.0-M2.jar JAR 文件,但看起来都一样。

我只想区分http://tomee.apache.org/comparison.html中提到的版本

注意:不要根据不同版本的 TomEE 中存在或不存在的随机 jar 文件给我答案。

4

1 回答 1

0

版本之间的差异仅在于包含的库数量。这意味着,TomEE 源文件根本不会有任何不同。安装只会有不同大小的lib文件夹(因为库中提到的差异)。

如果您有权访问目录结构,简单的解决方案是检查 jar 文件列表。您对此方法不感兴趣,但这是最简单的。:)

如果您无权访问目录结构,或者想在运行时知道支持哪些功能,您可以使用一个巧妙的小技巧来检测功能并将这些功能与此处提供的表格相关联。

TomEE 版本功能

解决方案本身是询问有关特定功能的类。为此,您需要一个与特性相关的类名列表。之后,您可以使用这样的方法来检查该类是否可访问(如果您使用的是类路径而不是模块路径)。

private boolean isClassPresent(String className){
    try {
        Class.forName(className);
        return true;
    } catch (ClassNotFoundException e) {
        return false;
    }
}

通过生成的列表,您将能够猜测TomEE使用的是哪个预配置版本。

请注意,如果添加了任何额外的库,它可能会打乱您的计算。

于 2019-06-18T07:34:05.313 回答