Изменение контекста развернутой (Spring Boot) войны на сервере контейнера Tomcat. Так что это не демо-0.01-SNAPSHOT

Я пытался развернуть свой сайт, используя множество конфигураций, чтобы он изменился по сравнению с именем развертываемой войны. Есть ли способ сделать это легко. Развертывание будет для кота, сидящего где-то еще. например, битнами

Я пробовал различные комбинации настроек в application.properties, но ни одна из них не имеет значения:

 server.servlet.context-path=/a
    server.servlet.path=/b
    spring.webservices.path=/c
    server.contextPath=/m

Война называется demo-0.0.01-SNAPSHOT.war, и когда она попадает в каталог webapps, она создает каталог с таким же именем, и сайт затем имеет путь /demo-0.0.01-SNAPSHOT. Я думал, что со днями Spring Boot это будет легко, но такой дурак, как я, еще не решил. Или люди просто внедряют встроенные версии с tomcats и запускают их сейчас?

(Кстати, я тоже попробовал root.xml, не повезло... если только я не сделал это неправильно на моем компьютере с Windows, сначала тестировал на моем компьютере с dev, Linux для развертывания)

Любая помощь будет оценена.

Спасибо

2 ответа

Свойство Spring Boot для указания пути к контексту приложения: server.contextPath,
Но тот факт, что вы развертываете свою WAR в автономном экземпляре Tomcat, не позволяет использовать его.
В этой конфигурации вы не можете использовать server.contextPath и другие свойства, специфичные для контейнера (как, например, server.port). Они предназначены для работы со встроенным экземпляром Tomcat.

Автономный экземпляр Tomcat действительно контролирует эти средства, предоставляемые Spring Boot. Поэтому вы должны настроить его из файла конфигурации автономного Tomcat (обычно server.xml или ROOT.xml).

При добавлении параметра finalName в pom.xml для maven к нему будет добавлено упакованное имя файла войны. Например.

<build>
...
<finalName>myapp</finalName>
</build>

Упакованное имя файла будет myapp.war. При развертывании в tomcat он устанавливает контекст для имени файла.

Другие вопросы по тегам