Tomcat файлы context.xml, там иерархия?

Я пытаюсь использовать символьные ссылки в одном из приложений, у меня есть работа Tomcat5. Благодаря некоторой справке от другого вопроса о StackOverflow я смог сделать это путем создания файла context.xml в

/...myapplication/META-INF/context.xml

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

/...tomcat/conf/context.xml

Это кажется мне, они устанавливают конфигурации, всего сервера на все приложения. Если я allowLinks в файле conf/context.xml, моей работе символьных ссылок. Если я не делаю allowLinks в conf/context.xml, символьные ссылки моего приложения не работают, даже при том, что я позволил им в META-INF/context.xml

Мой вопрос, conf/context.xml управляет всеми приложениями? Если я хочу, чтобы символьные ссылки работали только в одном приложении, я должен удалить conf/context.xml и создать новые файлы контекста для каждого приложения? Или есть ли способ, которым я могу позволить символьные ссылки в myapplication только?

5
задан Cœur 24 November 2019 в 06:22
поделиться

2 ответа

См. мой ответ на, "Какой файл Tomcat 5 контекста имеет приоритет" вопрос.

Относительно Вашего определенного allowLinks вопрос, значение в conf/context.xml имеет приоритет по умолчанию. Если Вы ничего не говорите в Вашем conf/context.xml, значение по умолчанию allowLinks="false" в Вашем conf/context.xml.

Если Вы хотите изменить его только для Вашего myapplication, попытка сказать <Context allowLinks="true" ...> в Вашем META-INF/context.xml не будет иметь никакого эффекта потому что обычно conf/context.xml установка будет иметь приоритет.

Но, если Вы говорите <Context allowLinks="true" override="true" ...> в Вашем META-INF/context.xml, затем все Ваш <Context> настройки в META-INF/context.xml будет наивысший приоритет, переопределяя что-либо в conf/context.xml.

Наконец, вместо a myapplication/WEB-INF/context.xml файл, я рекомендую использовать a conf/Catalina/localhost/myapplication.xml файл. Эта техника означает, что можно сохранить содержание СЕТИ-INF чистым, который является кишками веб-приложения - мне не нравится рисковать слоняться без дела в кишках моего веб-приложения.:-)

7
ответ дан 14 December 2019 в 09:03
поделиться

Только добавить точку.

Обычно th meta-inf/context.xml копируется в conf/Catalina/localhost/myapplication.xml

Когда redploying, война регистрирует conf/Catalina/localhost/myapplication.xml, удален, и новый копируется в, как описано выше.

Это может быть реальной болью. Мне нравится идея специализированного контекста, но мне не удается видеть, как, имея это в meta-inf каталоге помогает.

Для Напоминания, UAT, и т.д. это становится реальной болью.

Таким образом для чего-либо сервер, статичный но специализированный, лучше поместить его в conf/context.xml. Который имеет отрицание, что оно содержит контекст для нескольких приложений, коснитесь того, который Вы непреднамеренно касаетесь их всех.

0
ответ дан 14 December 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: