2012-04-19 3 views
1

Я использую:Tomcat 6 и обновление context.xml по развертыванию

  • Tomcat 6.0.30

Вот мой context.xml и структура web.xml в моем проекте веб-приложения:

  • META-INF
    • context.xml
  • WEB-INF
    • web.xml

Когда я генерировать файл WAR для моего приложения, context.xml будет упакована, как ожидалось. Когда я копирую файл WAR в папку Webapps Tomcat и запускаю Tomcat, файл WAR извлекается, а context.xml копируется в \conf\Catalina\localhost\<webappname>.xml, как и ожидалось. Однако это работает только в том случае, если <webappname>.xml еще не существует. Поэтому я не могу сделать обновление для context.xml, упаковать WAR и повторно развернуть без предварительного удаления существующего <webappname>.xml. Я знаю, что это предназначенная функциональность, основанная на чтении документации.

Мой вопрос в том, что делать? Как я могу сделать обновления для context.xml и скопировать эти обновления автоматически, как если бы они были совершенно новыми? Я не хочу удалять <webappname>.xml перед каждым опубликованием.

Возможно, я собираюсь сделать это неправильно?

+0

Я пришел к выводу, что мне просто нужно иметь дело с этим. –

ответ

4

Если вы сначала отложите приложение, файл .xml будет удален из папки conf/Catalina/localhost. Просто прекращение новой войны на месте, однако, не запускает undeploy (просто развертывание), и старый xml-файл не будет заменен.

Вы можете отменить развертывание приложений с помощью:

  • Удаления войны файла в папке WebApps - кот будет Undeploy приложения (если autoDeploy установлен истине в вашем server.xml для конфигурации хоста)
  • Если у вас установлено приложение менеджера, вы можете отправить команду delete/remove/undeploy в приложение, или при загрузке новой войны может быть опция undeploy (я не могу точно помнить, какой из них)
+0

+1 очень простой и ценный ввод. – TechSpellBound