Apache Tomcat под Windows: изменение каталога веб-приложений по умолчанию

Я развертываю свое Java-приложение с помощью Ant. К сожалению, мое тестовое развертывание на локальной машине не работает из-за Vista. Направления Program Files защищены, и я не хочу запускать Ant или Eclipse в качестве администратора. Поэтому у меня возникла идея переместить папку webapps в подпапку рабочей области, чтобы я мог использовать относительные пути и в Ant.

Решения, похоже, заключаются в изменении элемента Host в server.xml. С Linux это не так:

  <Host name="localhost"  appBase="/path/to/webapps"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">

А вот с Windows я не разбираюсь. Я перепробовал все возможные комбинации, какие только мог себе представить, например:

      C://Users//maerch//Workspaces//Tomcat6.0_webapps
      C:/Users/maerch/Workspaces/Tomcat6.0_webapps
      C:\Users\maerch\Workspaces\Tomcat6.0_webapps
      C:\\Users\\maerch\\Workspaces\\Tomcat6.0_webapps
      C://Users//maerch//Workspaces//Tomcat6.0_webapps\\
      C:/Users/maerch/Workspaces/Tomcat6.0_webapps/
      C:\Users\maerch\Workspaces\Tomcat6.0_webapps\
      C:\\Users\\maerch\\Workspaces\\Tomcat6.0_webapps\\

Путь тоже правильный, но он не работает. В файлах журналов также нет сообщений об ошибках, браузер не показывает сообщение 404 или что-то еще. Просто белая страница без названия и так далее. Кто-нибудь может помочь?


person maerch    schedule 30.01.2009    source источник
comment
Для меня это проблема развертывания, а развертывание относится к программированию. Но извините, если я неправильно понял это. Я подумаю об этом в следующий раз. Спасибо.   -  person maerch    schedule 30.01.2009
comment
Это достаточно близко к программированию, как я это вижу. Развертывание — неотъемлемая часть программирования.   -  person Eddie    schedule 30.01.2009


Ответы (5)


У меня такая же проблема безопасности с Vista, и я решаю ее, предоставляя уровень доступа «Полный доступ» для группы «Пользователи» в папке «Program Files\Apache Software Foundation\Tomcat XYZ».

Это решило проблемы развертывания с tomcat для меня, а также вопрос о запуске tomcat как службы. Конечно, вы можете назначать разрешения более строго (для группы пользователей развертывания или для каждого пользователя). ИМО, это более быстрый способ, чем перенастроить кота.

Относительно вашего первоначального вопроса о том, как изменить путь за пределами ${catalina.home} в Windows:

Это очень похоже на то, что вам нужно сделать на * nix:

  <Host name="localhost"  appBase="/c:/webapps2"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">

У вас была папка ROOT в вашей папке, упомянутой в appBase? Подход протестирован под Tomcat 6.0

person FoxyBOA    schedule 30.01.2009
comment
Ты прав. Не знаю, почему я не подумал об этом. Решает мою проблему, но, к сожалению, это не ответ на вопросы, так что вы поднимаете только свою репутацию! ;-) Мне все еще интересно решить эту проблему. Нашел много сайтов, которые не имеют понятия. - person maerch; 30.01.2009
comment
P.S. На самом деле это не связано с проблемой, но для меня это практическое правило: я больше не работаю в Windows, но я помню, как лучше всего я никогда не использовал «пробел» в пути, где я устанавливал все эти вещи. Я всегда устанавливал программы по какому-то пути без пробелов. - person Adeel Ansari; 30.01.2009
comment
Что касается пробелов в именах файлов/папок: я полностью согласен с Vinegar, но это уже не точка зрения Microsoft. В течение долгого времени каталогом по умолчанию для стороннего программного обеспечения является Program Files или Program Files (x86). - person FoxyBOA; 02.02.2009
comment
Я изменил server.xml в соответствии с данным ‹host›, но tomcat не запускается..! что еще нужно изменить? (В системе Ubuntu) - person Shailesh; 28.02.2017

В Windows должно работать следующее:

C:/Users/maerch/Workspaces/Tomcat6.0_webapps/
/Users/maerch/Workspaces/Tomcat6.0_webapps/

Windows также поддерживает косую черту Unix (/), поэтому рекомендуется использовать ее вместо Windows (\). Также «корнем по умолчанию» для Windows является C:, поэтому вам не нужно указывать абсолютный путь.

Я не думаю, что это проблема с путем. Возможно, вы могли бы попробовать использовать относительный путь:

"../../../Users/..."

Также может быть хорошей идеей установить Tomcat в каталог, к которому у вас есть полный доступ.

person kgiannakakis    schedule 30.01.2009

для окон

appBase="c://веб-приложения2"

person Community    schedule 09.03.2009

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

person Kiran    schedule 20.05.2010

Я пробовал в Apache Tomcat версии 8.5 и просто использовал appBase="c:\path\to\webapps" без проблем.

person nandan    schedule 21.06.2017