Как вы сказали, у вас есть несовместимая версия Java в вашем Tibco JRE и файл пользовательской функции .class.Неподдерживаемая ошибка major.minor версии 51.0 возникает при запуске файла класса, созданного с использованием Java 1.7 (основная версия 51.0), в версию JRE более низкой среды Tibco, например, JRE 6 или 5.
Основные числа:
Java SE 13 = 57,
Java SE 12 = 56,
Java SE 11 = 55,
Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
(Источник: https://en.wikipedia.org/wiki/Java_class_file#General_layout)
Вы можете проверить версию JRE Tibco в Tibco Designer Справка-> Среда выполнения -> вкладка Java -> (java.runtime.version)
Вы можете проверить версию своей пользовательской функции с помощью
javap -verbose MyFunction.class| findstr "major"
как проверить версию jdk, использованную для компиляции файла .class
Таким образом, вам нужно либо изменить версию JRE Tibco, чтобы она была совместима с версией вашего класса, либо пересобрать свой класс пользовательских функций с версией, совместимой с вашей JRE Tibco.
Вы можете использовать опцию -target для указанияверсия Java в компиляторе Java при сборке вашей функции.
javac -target 1.6 MyFunction.java
Если у вас нет исходного кода функции, вы можете использовать декомпилятор, например JD http://jd.benow.ca/
Для измененияJRE в Тибко вынеобходимо перенастроить все .tra файлы на путь новой версии Java.Для этого вы можете использовать утилиту / tra // bin / traUpgradeManager:
traUpgradeManager -path C:/tibco/bw/5.7 -jre C:/tibco/jre/1.7
traUpgradeManager -path C:/tibco -jre C:/tibco/jre/1.7
Подробнее см. https://support.tibco.com/s/article/Tibco-KnowledgeArticle-Article-33612.
Обратите внимание, что изменение JRE во всех средах Tibcoможет быть нетривиальным процессом.В вашем случае проще перекомпилировать пользовательскую функцию.