Как различить TomEE разных версий, используя файлы JAR? - PullRequest
1 голос
/ 15 мая 2019

Я скачал 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.JAR-файл 0-M2.jar, но все выглядит одинаково.

Я просто хочу различать версии, упомянутые в http://tomee.apache.org/comparison.html

Примечание. Не давайте мне ответов на основе случайного файла JARприсутствует или отсутствует в разных версиях TomEE.

1 Ответ

0 голосов
/ 18 июня 2019

Разница между версиями заключается только в количестве библиотек.Это означает, что исходные файлы TomEE не будут отличаться .Установки будут иметь только другой размер папки lib (из-за упомянутых различий в библиотеках).

Если у вас есть доступ к структуре каталогов, простое решение - проверить список jarфайлы.Вы не заинтересованы в этом методе, но это самый простой.:)

Если у вас нет доступа к структуре каталогов или вы хотели бы знать во время выполнения, какие функции поддерживаются, вы можете использовать небольшую хитрость для обнаружения функций и сопоставления их с предоставленной таблицей здесь .

TomEE editions features

Само решение состоит в том, чтобы запросить классы, касающиеся конкретных функций.Для этого вам нужен список имен классов с соотношением к функциям.После этого вы можете использовать такой метод, чтобы проверить, доступен ли класс (, если вы используете путь к классам вместо пути к модулю ).

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

С созданным списком вы 'Вы сможете угадать, какая предварительно настроенная версия TomEE используется.

Будьте осторожны, если любая дополнительная библиотека будет добавлена, это может испортить ваши вычисления.

...