如何使用jar文件区分不同版本的TomEE?

时间:2019-05-15 06:22:56

标签: tomee tomee-7 tomee-8

我已经下载了TomEE plume 8.0.0-M2,TomEE plus 8.0.0-M2,TomEE Web配置文件8.0.0-M2,TomEE microprofile 8.0.0-M2和OpenEJB Standalone 8.0.0-M2(来自{{3 }})

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

我只想区分http://tomee.apache.org/download-ng.html

中提到的版本

1 个答案:

答案 0 :(得分:0)

版本之间的区别仅在于所包含的库数。这意味着, TomEE源文件将完全没有。安装中lib文件夹的大小将不同(由于库中提到的差异)。

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

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

TomEE editions features

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

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

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

请注意,如果添加了任何其他库,则可能会使您的计算混乱。