Что делать, когда Tomcat ищет ресурс в другом развернутом приложении? - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть два приложения в tomcat / webapps, и appOne пытается найти ресурс в подпапках appTwo.

Я видел в logs / catalina.out, что Tomcat не находит ресурс / pages / templates / email-message.xhtml (который действительно существует в подпапке appOne).

Журнал ошибок:

com.sun.faces.lifecycle.InvokeApplicationPhase.execute # {action.sendEmail}: java.lang.IllegalArgumentException: ресурс не существует: /pages/templates/email-message.xhtml

Если я скопирую ресурс appOne / pages / templates / email-template.xhtml в appTwo / pages/ templates / (где у меня есть другие шаблоны), Tomcat найдет ресурс.

Что мне делать?

[Edit 1]:

  • IЯ могу войти в оба приложения, и это нормально.
  • Я не хочу делить какие-либо ресурсы между этими приложениями.
  • Я хочу, чтобы appOne и appTwo использовали свои собственные / pages / templates/
  • Если я удалю appTwo и перезапущу Tomcat,appOne, наконец, будет использовать свои собственные /pages/templates/.
  • Кажется, что-то недостаточно изолировано.

1 Ответ

0 голосов
/ 21 декабря 2018

Полагаю, вопрос в том, почему это в другом приложении.Они оба используют это, или это просто в неправильном приложении.

Если это в неправильном приложении, просто переместите его.

Если оба используют это, у вас есть по крайней мере два варианта.

Простой ответ - скопировать шаблон в приложение, в котором он отсутствует.

Потенциальным недостатком является то, что теперь у вас есть две копии шаблона, и если вам нужно сохранить их одинаковыми, у вас возникнет проблема с обслуживанием.

Менее простой ответ - определитьтаким образом, одно приложение получит доступ к ресурсам другого приложения.На полноценном сервере Java EE вы можете объединить оба приложения в файл .ear и предоставить один доступ к другому, но Tomcat не поддерживает файлы .ear ...

Если это простоодин файл, я бы просто скопировал его.Но следите за проектом - если вы начинаете делать это с большим количеством файлов (каким бы ни было ваше определение «лотов»), вам следует найти способ совместного использования ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...