Tomcat всегда будет извлекать содержимое военного файла в папку с тем же именем (когда он настроен на развертывание войн - по умолчанию и т. Д.).
Вы можете извлечь его в указанное вами имя папки. Поэтому, если вы разархивируете содержимое foo.war
в папку с именем bar/
вручную, вместо того чтобы просто отбрасывать войну в папку веб-приложений, она все равно загрузит веб-приложение.
Однако это совершенно не нужно, как вы можете указать шаблон URL приложения, не портя с именем файла папка/войн на все переопределение корневого элемента контекста для приложения:
Это часто устанавливается в Tomcat server.xml
- но эта практика довольно широко обескуражена. Вместо этого, я предлагаю вам использовать context.xml
в META-INF папку вашего веб-приложения/войны файл:
<Context path="/bar" .../>
При развертывании приложения, то context.xml
должен быть скопирован в /conf/Catalina/localhost
но переименованный в
Обратите внимание, что корни контекста должны быть уникальными, и есть некоторые дополнительные соображения, если вы используете операции autoDeploy
или deployOnStartup
(источник http://tomcat.apache.org/tomcat-7.0-doc/config/context.html).
Других варианты включают в себя:
- Очистите веб-приложения папки каждое развертывания и забросьте новую
foo-1.1.0
войны в
- Включите номер версии в плоском файл..
foo/version1
- Или просто укажите версию в файле config/XML.
Вы также можете использовать Ant (или эквивалентный инструмент) для автоматизации развертывания (и выполнить любое из указанных выше действий).
Возможный дубликат [Разделение названия военной заявки от имени военного файла] (http://stackoverflow.com/questions/5875413/separating-war-application-name-from-war-file-name) – OhadR