У меня есть приложение Spring Boot, которое использует пользовательский context.xml для tomcat. Context.xml содержит свойство, определяющее активный профиль пружины
<Context>
<Environment name="spring.profiles.active" value="profileName" type="java.lang.String" override="false" />
</Context>
Расположение файла: / src / main / webapps / META-INF. Я ожидал, что после развертывания файла в tomcat, контекст xmltomcat будет автоматически выбран и брошен в conf / catalina / localhost /
Как оказалось, война развернулась, но conf / catalina / localhost осталась пустой.
После прочтения документов я обнаружил, что server.xml должен быть обновлен с параметром copyXML в качестве контейнера Host. Документация гласит:
copyXML Установите значение true, если вы хотите, чтобы контекстный XML-дескриптор, встроенный в приложение (расположенный в /META-INF/context.xml), был скопирован в xmlBase при развертывании приложения. ,При последующих запусках скопированный контекстный XML-дескриптор будет использоваться в предпочтении перед любым контекстным XML-дескриптором, встроенным в приложение, даже если дескриптор, встроенный в приложение, является более новым. Значением флага по умолчанию является false. Обратите внимание, что если deployXML имеет значение false, этот атрибут не будет действовать.
Мой хост выглядит как
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true" copyXML="true">
</Host>
После перезапуска сервера и повторного развертывания приложения, / conf / Catalina /localhost по-прежнему оставался пустым.
Есть ли у вас какие-либо предложения, какие действия необходимо предпринять, чтобы использовать custom context.xml?