Несоответствие версий JVM при развертывании веб-приложения между Eclipse и Tomcat - PullRequest
0 голосов
/ 03 октября 2009

У меня есть веб-приложение, скомпилированное и скомпилированное в Eclipse, которое я хочу развернуть на своем Tomcat 6 (я хочу сделать это вручную), и я получаю исключение UnsupportedClassVersionError, которое означает, что JVM tomcat работает старше чем тот, который запускает мое затмение. После некоторой проверки я вижу, что в окне менеджера tomcat написано: JVM Version-1.5.0_20-b02 и в моем затмении: Java-установленные JREs - по умолчанию указывает на JDK, который определен как мой JAVA_HOME env-var и тот используется в моем пути как env-var (это 1.6.013).

Мой вопрос: как я могу сказать tomcat использовать мой JDK? Я думал, что он должен был использовать переменную JAVA_HOME, но он определен правильно, и если я выдаю java-версию в командной строке, я получаю правильную расширенную версию.

После еще большей проверки я увидел, что в библиотеке tomcat есть папка JRE, которая, как я предполагаю, использует tomcat, но если я удаляю эту папку, Tomcat не запустится (даже после того, как я определил JRE_HOME env-var и указал на JRE, указанный в моем JDK). Так что я в растерянности.

Спасибо за оказанную помощь Еффий

Обновление: как кто-то спросил меня, я использую надстройку xampp tomcat.

Ответы [ 3 ]

1 голос
/ 04 октября 2009

Вы можете либо изменить настройки Eclipse -> Java -> Compiler для компиляции для Java 1.5 или более ранней версии, либо установить в своей системе другую JRE, соответствующую версии, используемой Tomcat, и указать Eclipse использовать для этого THAT проект. Eclipse -> Java -> Установленные среды выполнения Java.

1 голос
/ 03 октября 2009

В стандартной загрузке Tomcat 6.0.20 из Apache нет JRE. Возможно, вы используете предварительно упакованную / поддерживающую версию, такую ​​как Spring ship?

Либо тот, либо кто-то изменил стандартный запуск Tomcat, чтобы отдать предпочтение JRE. Как вы начинаете Tomcat? Проследите сценарии запуска и посмотрите. Или просто повторно загрузите Tomcat 6 и начните снова, зная, что у вас есть каноническая установка.

0 голосов
/ 03 октября 2009

Я бы сказал, что более вероятно, что JDK сервера приложений будет исправлен, и IDE должна переключить свой JDK в соответствии с сервером приложений. Не настраивайте Tomcat; заставить Eclipse указывать на тот же JDK, который использует сервер приложений.

Вы не всегда можете управлять сервером приложений, но вы всегда можете настроить свою IDE.

...