Развернуть приложение на пользовательском хосте Tomcat

StackOverflow https://stackoverflow.com/questions/3914888

  •  29-09-2019
  •  | 
  •  

Вопрос

У меня есть некоторые проблемы, чтобы развернуть мое приложение.

Окружающая среда: Ubuntu 10.04, Tomcat 7.02 (установка с архива с сайта Tomcat, а не от репозитории), сервер запускается и останавливается вручную, не используя какую -либо IDE.

Сначала я создал хост в $CATALINA_HOME/conf/server.xml:

<Host name="java.dev"  
      appBase="/home/krasilich/java/"  
      autoDeploy="true" >  
    <Alias>www.java.dev</Alias>  
</Host>

Затем создайте контекст в $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml:

<Context docBase="siloc/web/" />

И получил ошибку

Docbase/Home/Krasilich/Java/Siloc/Web/Inside Host Appbase была указана и будет игнорирована

Но, если я скопирую Manager.xml $CATALINA_HOME/conf/Catalina/java.dev/ Я могу запустить приложение Manager. Если я развертываю свое приложение через менеджера - он говорит, что все идет хорошо, но я все еще вижу 404 на java.dev:8080/siloc/

Это все о пользовательском хосте.

Я пытался развернуть приложение через менеджера на Localhost, и это работает, я вижу свое «привет слово» на Localhost: 8080/siloc/

Но, если я изменю текст в своем index.jsp, это не повлияет на Frontend. Для меня не помогает кнопка "RedPloy".

Как я уже упоминал, менеджер просто скопируйте файлы приложений в каталог WebApps и не вносите никаких изменений в файлах конфигурации.

Все, что мне нужно, что я могу развернуть приложение в любом каталоге в моей файловой системе (на самом деле это будет /home/krasilich/java/).

И было бы здорово, если бы я мог сделать это на пользовательском хосте, например Java.Dev, мне нужен ответ, почему контекст в $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml Разве для меня не работает, и что мне делать, чтобы сделать его последовательным?

Спасибо.

Это было полезно?

Решение

Я смог повторить вашу проблему.

Есть 2 обходного пути, который я могу предложить после разъединения с комбинациями appBase и docBase. Отказ Похоже, эти два не работают вместе.

Вариант 1 - Удалить appbase

Удалить appBase от server.xml и укажите полный путь к веб -приложению в docBase в $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml

Я предполагаю, что ваша ценность будет /home/krasilich/java/siloc/web/siloc.

Примечание: указание только в родительскую папку /home/krasilich/java/siloc/web/ покажет вам список каталогов родительской папки

Вариант 2 - Удалить DOCBASE

В $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml

удалить docBase и сохранить только <Context/>

Tomcat делает имя WebApp siloc от $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml И он ищет веб -приложение по имени siloc в приложении.

Это позволяет java.dev:8080/siloc/ работать при условии, что вы также измените appBase в server.xml в родительскую папку вашего веб -приложения siloc.

В ответ на почему manager Работает, та же причина - в Manager.xml нет Docbase.

Я пробую другие комбинации Docbase, но любая ценность, которую я даю, бросает

Предупреждение: DOCBASE ... Внутри хоста Appbase была указана и будет проигнорирована

Поэтому мой вывод - удалить базу DOC. Это не очень хорошая идея - поскольку полный путь к родительской папке затем жестко кодируется в Server.xml.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top