Как различить TomEE разных версий, используя файлы JAR?

Я скачал 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 и изменил имя этих папок после распаковки, но сейчас я не могу проверить, какую версию я использую. Я попытался использовать JAR-файл tomee-catalina-8.0.0-M2.jar, но все выглядит одинаково.

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

0 ответов

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

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

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

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

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

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

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

Другие вопросы по тегам