Apache Tomcat под Windows: изменение каталога веб-приложений по умолчанию - PullRequest
12 голосов
/ 30 января 2009

Я развертываю свое 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 или что-либо еще. Просто белая страница без заголовка и тд. Кто-нибудь может помочь?

Ответы [ 5 ]

9 голосов
/ 30 января 2009

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

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

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

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

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

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

3 голосов
/ 30 января 2009

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

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

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

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

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

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

1 голос
/ 20 мая 2010

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

Спасибо и наилучшими пожеланиями, Киран

1 голос
/ 09 марта 2009

для окон

appBase = "C: // webapps2"

0 голосов
/ 21 июня 2017

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

...