Как изменить Url или Web-Context при деплое WAR архива на WildFly
Пытаюсь разобраться в работе веб-сервисов на Java.
Очень раздражает один момент. Не понимаю как настраивать url по которому нужно обращаться для работы с сервисом, когда он уже находится на WildFly.
В частности сейчас war архив деплоится по адресу: http://localhost:8080/demo-1.0-SNAPSHOT
Я хочу настроить эту часть: /demo-1.0-SNAPSHOT
Эта часть формируется из pom.xml. Если изменить
<version>1.0-SNAPSHOT</version>
<name>demo</name>
то url тоже меняется.
Но вероятно это неправильный путь.
Подскажите пожалуйста, где это нужно настраивать. Сам найти ничего не смог.
Ответы (2 шт):
Url, по которому будет доступно web-приложение, обычно настраивается с помощью дескриптора развёртывания специфичного для данного сервера приложений.
У Wildfly это jboss-web.xml, который Вы должны поместить в WEB-INF
И заполнить соответствующим образом
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>demo</context-root>
</jboss-web>
Тогда url на сервере Wildfly будет http://localhost:8080/demo.
Коль скоро используете maven, то в исходных кодах прожекта должен быть в файл src/main/webapp/WEB-INF/jboss-web.xml с указанным выше содержимым.
Нашел решение, не очень изящное, но меня устраивает. Хотя если, кто-то подскажет как делать по науке будет отлично.
Описанное ниже применимо к exploded war архиву.
- открыть Edit configuration
- вкладка Deployment
- Редактируем артефакт (иконка карандаша)
- Выделяем нужный артефакт слева
- В строке OutputDirectory меняем имя .war файла. Как он будет назван под таким именем он и попадает в WildFly.
НО если до этого вы уже деплоили .war на сервер, то для применения изменений его нужно удалить. Иначе просто будут обновлены файлы, но адрес останется старый.
Извиняюсь за бедность речи, но пока не владею нужной терминологией.

Для сборки обычного war архива подходит это видео с ютуба Но на всякий случай опишу:
- File -> Project structure -> artifacts
- %имя_архива%.war -> вкладка output layout
- Первой строкой идет шаблон для имени war архива -> ПКМ -> Rename
Собрать артефакт можно Build -> Build Artefact
Находится в папке target.