Хорошо, теперь я потратил достаточно времени на правильную настройку Tomcat на моей ОС Ubuntu 12.04, и я уже сыт по горло, учитывая, что уже 2 часа ночи.
Сначала я установил tomcat7, как описано в этом вопросе - Как мне установить Apache Tomcat 7 для использования с Eclipse? .
Тогда я решил установить личный экземпляр tomcat, как описано в ответе на связанный вопрос. Итак, я удалил tomcat7
, используя процесс, описанный в этом вопросе - https://askubuntu.com/q/313070/159439
И теперь я установил частный экземпляр, используя:
sudo apt-get install tomcat7-user
sudo tomcat7-instance-create ~/my-tomcat-instance
Теперь, когда я иду, чтобы запустить кота, он не запускается. Поскольку он не установлен как сервис, я, конечно, не могу запустить его как сервис. Но я даже не могу запустить его с помощью файла startup.sh
. Я получаю следующую ошибку:
/usr/share/tomcat7$ bin/startup.sh
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
touch: cannot touch `/usr/share/tomcat7/logs/catalina.out': No such file or directory
bin/catalina.sh: 389: bin/catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent
Теперь в чем проблема. Я понимаю, что ранее tomcat не запускался, так как был установлен как сервис. Итак, я должен использовать - service tomcat7 start
, чтобы запустить его. Но сейчас он не установлен как сервис. Итак, как мне начать это?
Я столкнулся с другой проблемой настройки недавно установленного tomcat в eclipse. Он показывает мне ту же ошибку, что и в этом вопросе - Интеграция Tomcat 7 и Eclipse выдает ошибку , когда я добавляю сервер. Я использую Eclipse Juno. Установил его, загрузив файл .tar.gz
.
Чтобы запустить личный экземпляр Tomcat из командной строки, вам нужно запустить сценарий startup.sh
в каталоге частного экземпляра, а не в /usr/share/tomcat7
. Итак, в вашем случае вам нужно выполнить:
~/my-tomcat-instance/bin/startup.sh
Это должно работать "из коробки".
Для запуска из Eclipse вам также следует создать среду выполнения сервера, используя каталог ~/my-tomcat-instance/
вместо /usr/share/tomcat7/
.
CATALINA_BASE
и CATALINA_HOME
.
Отсутствующие файлы
Оказывается, что скрипт tomcat7-instance-create
не устанавливает все, что нужно Eclipse. Об этом сообщалось как об ошибке , которая, по-видимому, была исправлена в какой-то момент для Tomcat 6, но по какой-то причине патч отсутствует в пакете tomcat7-user
. Я поднял новую ошибку в надежде, что это будет исправлено, но пока вам нужно выполнить следующие команды:
ln -s /usr/share/tomcat7/lib ~/my-tomcat-instance/lib
ln -s /usr/share/tomcat7/bin/bootstrap.jar ~/my-tomcat-instance/bin/bootstrap.jar
Затем вам нужно получить копию из catalina.policy
, который не распространяется как часть пакета tomcat7-user
, и поместите его в каталог conf/
в вашем экземпляре. Вы можете получить его из репозитория кода для пакета tomcat7
:
curl http://bazaar.launchpad.net/\~ubuntu-branches/ubuntu/precise/tomcat7/precise/view/head:/conf/catalina.policy > ~/my-test-tomcat7-instance/conf/catalina.policy
Новая ошибка сервера
Во время тестирования этого я также столкнулся с другой ошибкой, которую я решил, удалив эти файлы:
{workspace-directory}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.server.core.prefs
{workspace-directory}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.server.tomcat.core.prefs
в соответствии с принятым ответом на . Eclipse добавляет пустое имя сервера Tomcat 7 . Очевидно, только делайте этот шаг, если вам нужно.
См. также Eclipse 4.2 (Juno) «Невозможно создать сервер с использованием выбранного типа» в Tomcat 7 , чтобы заставить его работать с помощью пакета tomcat7
.