пятница, 10 февраля 2012 г.

Устанавливаем Tomcat для Windows x64


Скачиваем Tomcat
разархивируем его на c:\Program Files\apache-tomcat-7.0.25\
Если запустить командную строку (cmd) и написать там:
c:\Program Files\apache-tomcat-7.0.25\bin>startup

То мы увидим следующий текст:
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
c:\Program Files\apache-tomcat-7.0.25\bin>

Это говорит нам о том, что серверу Tomcat нужно указать, где находится установленный JRE/JDK

Есть несколько способов сделать это.


Способ 1
В c:\Program Files\apache-tomcat-7.0.25\bin\ создаем файл setenv.bat
Пишем в нем:
set "JRE_HOME=c:\Program Files\Java\jre7\"
exit /b 0

Будьте внимательны!
В официально документации c:\Program Files\apache-tomcat-7.0.25\RUNNING.txt
Написано, что нужно прописать такой текст:
set "JRE_HOME=%ProgramFiles%\Java\jre6"
exit /b 0

Это не верно для Windows x64, т.к. на диске C:\ существует две папки Program Files:
1) Program Files //первая служит для 64-х разрядных программ
2) Program Files (x86) //вторая служит для программ под 32-х разрядную Windows

Т.к. У меня Java (JRE/JDK) установлены под 64-bit, то они находятся в папке
1) Program Files

А строка set "JRE_HOME=%ProgramFiles%\Java\jre6" подразумевает папку 2) Program Files (x86)
Значит она не найдет и не запустит Tomcat. Поэтому я явно указал путь к Program Files

Далее в cmd пишем:
c:\Program Files\apache-tomcat-7.0.25\bin>setenv.bat

Получаем:
c:\Program Files\apache-tomcat-7.0.25\bin>set "JRE_HOME=C:\Program Files (x86)\Java\jre7\"
c:\Program Files\apache-tomcat-7.0.25\bin>exit /b 0
c:\Program Files\apache-tomcat-7.0.25\bin>


Если папки перепутаны, то при запуске setenv.bat мы получим



Далее запускаем файл startup
c:\Program Files\apache-tomcat-7.0.25\bin>startup

Ура! сервер запущен
Для проверки, в браузере вводим http://localhost:8080/

Способ 2
Открываем Пуск, кликаем правой кнопкой на Компьютер, Свойства

Дополнительные параметры системы

Переменные среды
Создать (та, что самая нижняя)
Пишем Имя переменной: JAVA_HOME
Значение переменной: C:\Program Files\Java\jdk1.7.0_02
Давим три раза ОК

Запускаем
c:\Program Files\apache-tomcat-7.0.25\bin>startup


И снова все работает =)


Способ 3
В папке c:\Program Files\apache-tomcat-7.0.25\bin\ есть файл catalina.bat
Нужно открыть его блокнотом и найти строки

rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"

давайте вставим перед этими строками путь к JRE, чтобы получилось так:

set JAVA_HOME=c:\Program Files\Java\jre7\
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"

Запускаем
c:\Program Files\apache-tomcat-7.0.25\bin>startup
enjoy =)


Меняем порт с 8080 на 80
Открываем файл c:\Program Files\apache-tomcat-7.0.25\conf\server.xml
Находим там строку:
И меняем 8080 на 80

Создаем bat-файлы для быстрого запуска/остановки Tomcat
Создаем файл Start.bat:

cd c:\Program Files\apache-tomcat-7.0.25\bin\
startup

Создаем файл Stop.bat:

cd c:\Program Files\apache-tomcat-7.0.25\bin\
shutdown


Подключаем servlet-api.jar
Если мы будем компилировать наш сервлет в IDE, например Eclipse, то для этого мы просто подключим библиотеку c:\Program Files\apache-tomcat-7.0.25\lib\servlet-api.jar
Но если мы захотим компилировать проект в командной строке, с помощью javac, то у нас ничего не выйдет, т. к. компилятор не найдет библиотеки servlet-api.jar


Исправляем эту ситуацию:
Добавляем в Переменные среды:
Имя переменной: CLASSPATH
Значение переменной: c:\Program Files\apache-tomcat-7.0.25\lib\servlet-api.jar

2 комментария:


  1. Добрый день, по первому пункту установки http://localhost:8080/ не доступен, что делать

    ОтветитьУдалить
  2. Спасибо за статью.
    Помогла решить проблемы с запуcком Tomcat!

    ОтветитьУдалить