Как изменить версию Java, используемую TOMCAT? - PullRequest
42 голосов
/ 01 ноября 2010

В моей системе установлены Java 1.6 и Tomcat 5.5.

Но Tomcat 5.5 получает доступ к Java 1.5 и, следовательно, в результате я получаю ошибку Bad version number in .class file при выполнении кода Java с JSP.

Как я могу изменить версию Tomcat на Java 1.6?

ОБНОВЛЕНИЕ

Я попытался изменить JVM, которую tomcat5w.exe указывает на версию 1.6, и теперьУ меня ошибка Bad version in .class file.Но теперь я получаю следующую ошибку:

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

root cause

java.lang.NullPointerException
myfirst.SearchLink.checkURL(SearchLink.java:20)
org.apache.jsp.Test_jsp._jspService(Test_jsp.java:52)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

В чем может быть основная причина?

Ответы [ 7 ]

36 голосов
/ 01 ноября 2010

Когда вы открываете catalina.sh / catalina.bat, вы видите:

Требования к переменной среды

JAVA_HOME Необходимо указать при установке Java Development Kit.

Итак, установите переменную окружения JAVA_HOME для указания на Java 6. Также убедитесь, что JRE_HOME указывает на ту же цель, если она установлена.

Обновление: поскольку вы работаете в Windows, см. Здесь , чтобы узнать, как управлять переменными среды

15 голосов
/ 28 июля 2015

Вы можете изменить местоположение JDK или JRE, используя следующие шаги:

  1. открыть терминал или cmd .
  2. перейти в каталог [tomcat-home]\bin.
    ex: c:\tomcat8\bin
  3. введите следующую команду: Tomcat8W //ES//Tomcat8
  4. откроет диалоговое окно, выберите вкладку java (верхняя панель) .
  5. изменить значение виртуальной машины Java.
  6. щелкните OK .

примечание: в ApacheTomEE такие же шаги, но step (3) команда должна быть: TomEE //ES

12 голосов
/ 08 февраля 2013

В Eclipse очень просто указать Tomcat на новую JVM (в этом примере JRE6).Моя проблема была в том, что я не мог найти, где это сделать.Вот трюк:

  1. В главном меню ECLIPSE ФАЙЛ раскрывающаяся вкладка, выберите NEW , -> Other
  2. ... на Новый сервер: выберите окно мастера , выберите: Сервер -> Сервер ... нажмите СЛЕДУЮЩИЙ
  3. .в окне Новый сервер: определите новый сервер , выберите Apache> Сервер Tomcat 7
  4. .. Теперь щелкните по строке синего цвета с подчеркиванием: Настройка сред выполнения
  5. в окне Среды выполнения сервера ,
  6. .. выберите Apache , разверните его(нажмите на стрелку слева), выберите TOMCAT v7.0 и нажмите РЕДАКТИРОВАТЬ .
  7. , вы увидите окно с именем РЕДАКТИРОВАТЬ СЕРВЕР РАБОЧЕГО ОКРУЖАЮЩЕЙ СРЕДЫ: TOMCAT SERVER
  8. На этом экране есть выпадающее меню с пометкой JREs .
  9. Вы должны найти свой JRE в списке, например JRE1.6.0.33 .Если нет, используйте кнопку Установлено JRE .
  10. Выберите нужную JRE.Нажмите кнопку FINISH .
  11. Изящно выйдите, в окне Сервер: среды выполнения сервера , нажмите OK
  12. в Новый сервер: определите новое окно сервера , нажмите СЛЕДУЮЩИЙ
  13. в окне Новый сервер: добавьте и удалите , выберите приложения и установитеих на сервере.
  14. в окне Новый сервер: Добавить и удалить , нажмите Готово

Вот и все.Интересно, что только шаги 7-10, кажется, имеют значение, и они изменят JRE, используемую на всех серверах, которые вы ранее определили для использования TOMCAT v7.0.Остальные шаги только потому, что я не могу найти какой-либо другой способ добраться до экрана, кроме как путем определения нового сервера.Кто-нибудь еще знает более простой способ?

11 голосов
/ 18 июля 2013

Если вы используете стандартные сценарии для запуска Tomcat (то есть вы не установили Tomcat в качестве службы Windows), вы можете использовать файл setenv.bat, чтобы установить версию JRE_HOME.

В Windows создайте файл %CATALINA_BASE%\bin\setenv.bat с содержанием:

set "JRE_HOME=%ProgramFiles%\Java\jre1.6.0_20"

exit /b 0

И это должно быть так.

Вы можете проверить это, используя% CATALINA_BASE% \ bin \ configtest.bat (Отказ от ответственности: я проверял это только при установке Tomcat7).

Дополнительная литература:

4 голосов
/ 02 июля 2013

В Linux Tomcat7 имеет файл конфигурации, расположенный по адресу:

/etc/sysconfig/tomcat7

..., где должны быть выполнены конфигурации, специфичные для сервера.Вы можете установить здесь переменную JAVA_HOME env без необходимости создавать файл profile.d / script.

Это сработало для меня.

0 голосов
/ 29 сентября 2015

тест открыть терменал или cmd.перейдите в каталог [tomcat-home] \ bin.Например: c: \ tomcat8 \ bin напишите следующую команду: Tomcat8W // ES // Tomcat8 откроет диалоговое окно, выберите касание Java (верхнее нажатие).изменить значение виртуальной машины Java.

0 голосов
/ 08 июня 2015

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

Вариант 3 здесь: http://www.codejava.net/servers/tomcat/4-ways-to-change-jre-for-tomcat

По сути, откройте tomcatw.exe и укажите Tomcat на версию JVM, которую вам нужно использовать, затем перезапустите службу.Убедитесь, что ваши развернутые приложения по-прежнему работают.

...