Apache Tomcat под Windows: изменение каталога по умолчанию webapps
Я развертываю свое приложение 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, ни что-либо еще. Просто белая страница без заголовка и так далее. Может ли кто-нибудь помочь?
Ответы
Ответ 1
У меня такая же проблема безопасности с Vista, и я разрешаю ее, предоставляя уровень доступа "Полный контроль" для группы "Пользователи" в папке "Program Files\Apache Software Foundation\Tomcat XYZ".
Он разрешил проблемы с выпуском tomcat для меня, а также вопрос о запуске 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
Ответ 2
В Windows должно работать следующее:
C:/Users/maerch/Workspaces/Tomcat6.0_webapps/
/Users/maerch/Workspaces/Tomcat6.0_webapps/
Windows также поддерживает Unix slash (/), поэтому рекомендуется использовать это вместо Windows (\). Кроме того, "root по умолчанию" для Windows - C:, поэтому вам не нужно это в абсолютном пути.
Я не думаю, что это проблема с этим путем. Возможно, вы можете попробовать использовать относительный путь:
"../../../Users/..."
Также может быть хорошей идеей установить Tomcat в каталоге, где у вас есть полный доступ.
Ответ 3
для окон
appBase = "C://webapps2"
Ответ 4
Что делать, если вы скопируете тот же каталог webapps в другое место и измените путь в файле server.xml. Если мы это сделаем, то определенно я верю, что у нас не будет никаких проблем, потому что всякий раз, когда веб-приложениям необходимо развернуть приложение, оно будет иметь.
Спасибо и с наилучшими пожеланиями,
Киран
Ответ 5
Я попробовал в Apache tomcat версии 8.5 и просто используя appBase="c:\path\to\webapps"
работал без проблем