Значок должен быть частью вашей темы. Вот как выяснить, что делать: проверьте исходный код Liferay (здесь у меня есть исходный код 7.1), результаты довольно легко просмотреть, но я сокращаю вывод grep для ясности:
olaf@tp:~/src$ grep -r "theme.shortcut.icon" .
./portal-kernel/.../PropsKeys.java: public static final String THEME_SHORTCUT_ICON = "theme.shortcut.icon";
./portal-impl/src/portal.properties: theme.shortcut.icon=favicon.ico
...
olaf@tp:~/src$ grep -r "THEME_SHORTCUT_ICON" .
./portal-web/.../themes/top_head.jsp:<link data-senna-track="temporary" href="<%= themeDisplay.getPathThemeImages() %>/<%= PropsValues.THEME_SHORTCUT_ICON %>" rel="Shortcut Icon" />
Поскольку это трудно читать, несмотря на сокращение строк, путь к ярлыку конструируется как <%= themeDisplay.getPathThemeImages() %>/<%= PropsValues.THEME_SHORTCUT_ICON %>
. В интересах простоты сопровождения, я бы предложил создать свою собственную тему (почти все так делают) и просто использовать стандартное имя файла и заменить это изображение в своей теме, и все будет готово.
Когда вы спрашиваете о том, «куда поместить изображение в tomcat»: в Liferay не следует ожидать, что он будет обслуживать обычные веб-приложения, фактически темы обычно обслуживаются из содержимого OSGi. Вы можете легко проверить это, перейдя на обслуживаемую страницу и выполнив поиск favicon
: если путь содержит /o/
, это указывает на механизм OSGi для его обслуживания, например, в файловой системе Tomcat нет эквивалента (в любом случае это плохая практика - шутить над этими файлами: скорее всего, вы забудете их во время следующего обновления и потеряете изменения).
Глядя на мою стандартную установку, http://localhost:8080/o/classic-theme/images/favicon.ico
- это место, откуда подается фавикон, и действительно, это то, что /o/
. Таким образом, ответ таков: добавьте значок в свою собственную тему, и вам даже не нужно будет менять его имя через найденное свойство.
Но то, как создать хорошо обслуживаемую систему с правильно разделенным содержимым (между вашим и обычным Liferay), вероятно, выходит за рамки этого ответа.
В качестве крайнего, не рекомендуемого, быстрого исправления вы можете установить значение в portal-ext.properties равным
theme.shortcut.icon=../../../myfavicon.ico
и замените иконку в коте webapps/ROOT/myfavicon.ico
. Но не плачь позже, когда случайно перезаписываешь его в обновлении.