Подтвердить что ты не робот

Как указать путь в META-INF/context.xml для Tomcat

Я использую Tomcat 7 и хотел бы установить корень контекста файла войны в самом военном файле и запустить Tomcat и выбрать этот путь.  Я думал, что нашел способ сделать это, поставив context.xml в каталог META-INF войны, который содержит.

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/somepath/myapp"/>

Но это не работает, я думаю, что он загружен http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/startup/SetContextPropertiesRule.html, в котором говорится, что он загружает все, кроме пути!

Я знаю, что могу назвать войну somepath # myapp.war, и она ее поднимет, но я также разворачиваю ее в weblogic, которая недовольна таким именем.

Есть ли какой-то параметр, который я могу использовать для работы с курсором из context.xml выше?

Спасибо Дэвид

4b9b3361

Ответ 1

Атрибут Context path игнорируется, если путь не указан в жестко закодированном Context in server.xml, который сильно не рекомендуется и не принимает многоуровневые пути.

Имя файла войны или имя XML файла контекста в tomcat/conf/Catalina/hostname становится path развернутого приложения.

В вашем случае последнее из двух выше - это решение, просто убедитесь, что вы поместили файл .war за пределы назначенного appBase для хоста, или вы разворачиваете приложение дважды.

В: conf/Catalina/localhost/myapp#path.xml

<?xml version="1.0"?>
<Context docBase="/some/path/to/myapp.war">
</Context>

Ответ 2

добавить copyXML = "true" в конфигурацию хоста внутри $TOMCAT_HOME/conf/server.xml, например

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" copyXML="true">

Ответ 3

В/tomcat7/conf/server.xml добавьте ниже строки внутри элемента и перезапустите Tomcat, чтобы изменения произошли.

* измените "mycom" на ваше имя приложения.

<Context path="" docBase="mycom">
  <!-- Default set of monitored resources -->
  <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
<Context path="ROOT" docBase="ROOT">
  <!-- Default set of monitored resources -->
  <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

Это приведет к появлению корневого приложения по умолчанию под корнем контекста "/ROOT".

Теперь ваше приложение доступно в "/" и "/mycom"!

Ответ 4

Если вы загружаете приложение application.war в каталог, который Tomcat не знает, как он может читать что-либо в вашем военном файле? Правильное место для добавления этой информации находится в $TOMCAT_HOME/conf/context.xml - это часть Tomcat, и Tomcat может прочитать этот файл и узнать, где находится ваше приложение и развернуть его. Там больше на как настроить JNDI в Tomcat