Нельзя помещать что-либо в/var/lib/tomcat7/webapps/

Сегодня я начал веб-разработку JAVA и столкнулся с некоторыми проблемами, я установил свой tomcat7 на свою машину ubuntu. Теперь, когда я просматриваю //localhost: 8080, я получаю приветственную страницу по умолчанию:

Это домашняя страница Tomcat по умолчанию. Его можно найти в локальной файловой системе по адресу: /var/lib/tomcat7/webapps/ROOT/index.html

Ветераны Tomcat7 могут с удовольствием узнать, что этот системный экземпляр Tomcat установлен с CATALINA_HOME в /usr/share/tomcat7 и CATALINA_BASE в /var/lib/tomcat7, следуя правилам из /usr/share/doc/tomcat7-common/RUNNING.txt.gz.

Но странно, когда я пытаюсь echo $CATALINA_HOME ничего не появляется. Также я не могу копировать/создавать что-либо в стандартном /var/lib/tomcat 7/ROOT, хотя это просто вопрос предоставления нескольких разрешений, но мне было интересно, правильно ли это сделать?,

Что бы я хотел сделать, так это создать отдельный каталог в моем доме, где я могу разместить свое веб-приложение, а tomcat может читать подол оттуда. Есть ли способ сделать это? В apache я могу это сделать, изменив корневой каталог и каталог, но я не знаю, как это сделать для tomcat

Ответ 1

Но странно, когда я пытаюсь выполнить echo $CATALINA_HOME, ничего не появляется.

Это связано с тем, что упакованная версия устанавливает CATALINA_HOME непосредственно перед запуском Tomcat после чтения из файла конфигурации (обычно где-то в /etc ).

Также я не могу копировать/создавать что-либо по умолчанию /var/lib/tomcat 7/ROOT, хотя это просто вопрос предоставления нескольких но мне было интересно, правильно ли это сделать?

Проблема с разрешениями связана с тем, что вы не являетесь пользователем root (или пользователем Tomcat). Большинство упакованных установок Tomcat (deb или RPM), как правило, устанавливаются с учетом конкретного пользователя, а копирование материалов в разных случаях иногда не будет работать.

/usr/share/tomcat7 является вашим каталогом CATALINA_HOME, и он имеет ссылки на другие каталоги, такие как /var/lib/tomcat7/webapps, /etc/tomcat7 и т.д. Вы не должны копировать непосредственно в веб-приложение, вы должны упаковать веб-страницы приложение в файл WAR и "развернуть" его. Преимущества многочисленны.

Что я хотел бы сделать, так это создать отдельный каталог в моем доме где я могу разместить свое веб-приложение, а tomcat может читать подол оттуда. Есть ли способ сделать это?

Да, один создается при "развертывании веб-приложения". Посмотрите на стандартную документацию Tomcat7 и подумайте об установке веб-приложения "manager", если вам нравится интерфейс без командной строки. Теперь, когда вы знаете, что называется "установкой" веб-приложения, это, скорее всего, будет более простой задачей.

В apache я могу сделать это, изменив корневой каталог и каталог, но Я не знаю, как это сделать для tomcat

У Tomcat есть другой, немного более ограничительный набор требований для корня документа. Вам нужно научиться этому, и просто примириться с идеей, что это никогда не будет одинаковым. В основном под каталогом "webapps" находится WAR файл или расширенный каталог из WAR файла. Редактирование на месте не является хорошей идеей для Tomcat, поскольку CGI-эквиваленты не читаются с диска при каждом запуске, они связаны с памятью Tomcat. Это означает, что изменение каталога может не повлиять на ваше веб-приложение, что является достаточной причиной для того, чтобы не беспокоить изменение файлов на диске для развернутого веб-приложения.

Измените веб-приложение, переупакуйте его и обновите развертывание. Это действительно "правильный" способ пойти с Tomcat.

Ответ 2

Дайте разрешение 777 папке webroot

sudo chmod -R 777 Webroot

После перехода в папку tomcat

Ответ 3

Но странно, когда я пытаюсь выполнить echo $CATALINA_HOME, ничего не появляется.

Если вы установили tomcat7 с помощью этой команды

sudo apt-get install tomcat7

/usr/share/tomcat7 - ваш CATALINA_HOME, но вам нужно добавить это как переменную среды в файл /.bashrc.

sudo vi ~/.bashrc

Вы можете добавить эту информацию в конец файла:

export JAVA_HOME=/usr/lib/jvm/default-java
export CATALINA_HOME=/usr/share/tomcat7

Сохранить и выйти из .bashrc. Вы можете сделать изменения эффективными, перезапустив файл bashrc.

. ~/.bashrc

Теперь вы увидите путь, когда echo $CATALINA_HOME.

Ссылка