Как различить 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
используется.
Будьте осторожны, добавление какой-либо дополнительной библиотеки может испортить ваши вычисления.