Существует несколько проблем с решением создания META-INF/context.xml
, содержащего <Context path="/myapp" allowLinking="true">
Самая большая проблема заключается в том, что если существует conf/context.xml
, то allowLinking
в <Context>
там имеет приоритет над a <Context>
в META-INF/context.xml
. И если в conf/context.xml
явно не определено allowLinking
, это то же самое, что сказать allowLinking="false"
. (см. мой ответ на вопрос о приоритетах контекста)
Чтобы убедиться, что ваше приложение разрешает связывание, вы должны сказать <Context override="true" allowLinking="true" ...>
.
Другая проблема заключается в том, что path="/myapp"
игнорируется в META-INF/context.xml
. Чтобы избежать путаницы, лучше не указывать. Единственный раз, когда path
в <Context>
оказывает какое-либо влияние, - это server.xml
, и официальные документы Tomcat рекомендуют против ставить <Context>
s в server.xml
.
Наконец, вместо файла myapp/META-INF/context.xml
я рекомендую использовать файл conf/Catalina/localhost/myapp.xml
. Этот метод означает, что вы можете содержать содержимое вашего META-INF
в чистоте, что является внутренним содержимым вашего веб-приложения - я не люблю рисковать, пытаясь разобраться в внутренностях моего веб-приложения. : -)