Runtime MQ и проблема несовпадения версий Java - PullRequest
0 голосов
/ 25 сентября 2018

Мой код Java скомпилирован в jdk 1.6.

Я использую файлы jar MQ (из версии 8.0 MQ) в пути сборки проекта.

Мой сервер приложений работает с jdk 1.6,

MQ версии 8.0 установлен на сервере.

Теперь, когда я развернул свое приложение на сервере, я получаю сообщения об ошибках типа:

java.lang.UnsupportedClassVersionError "и ошибки, связанные с основной версией 50, 51 и т. Д.

Я понимаю концепции версии здесь, но меня немного смущает, почему во время выполнения возникает несоответствие версии, как вclasspath ссылается на те же файлы JAR, что и во время сборки проекта. Это связано с тем, что MQ jars был скомпилирован в 51, который имеет более высокую версию, чем 50? Пожалуйста, сообщите, что можно сделать здесь.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

@ JoshMc был абсолютно прав с объяснениями несоответствия версий java и mq jars и всего.

Я хотел бы добавить, что хотя я мог понять ошибку, когда она произошла, увидев несоответствие между 51и 50, но моя проблема заключалась в том, чтобы как-то подключиться к MQ и запустить приложение без изменения существующих установок.Вот почему я не смог обновить Java до JDK 1.7.

Однако я решил свою проблему, используя старые файлы MQ 7 в пути к классам для Weblogic Server.Потому что, поскольку мое приложение ведет себя как клиент, при подключении к серверу MQ с версией 8 с использованием jar-файлов MQ, созданной с использованием java 6, проблем не возникнет. Поэтому я просто скопировал старые jar-файлы MQ 7 в папку и использовалэтот путь в моей ссылке на Weblogic CLASSPATH и это решило мою проблему.

0 голосов
/ 26 сентября 2018

Чтобы использовать файлы JAR, которые поставляются с IBM MQ v8 и новее, вы должны использовать Java 7 или новее.IBM документирует, что в MQ v8 и более поздних версиях классы IBM MQ для Java и JMS создаются с использованием Java 7. Oracle документирует, что классы, созданные на основе Java 7, не могут использоваться с Java 6. Ссылки для справки приведены ниже:

...