問題
DXPでは、HTTP 500ステータスのため、ポータルページが表示されないだけでなく、インターフェースにこのエラーが表示される場合があります:
予期せぬシステムエラーが発生しました。
未対応のテンプレートマネージャーftl
と、こちらはLiferayのログにあります:
ERROR [main][LayoutTemplateLocalServiceImpl:523] Unable to get layout template columns com.liferay.portal.kernel.template.TemplateException: Unsupported template manager ftl at com.liferay.portal.kernel.template.TemplateManagerUtil._getTemplateManagerChecked(TemplateManagerUtil.java:245) at com.liferay.portal.kernel.template.TemplateManagerUtil._getTemplate(TemplateManagerUtil.java:201) at com.liferay.portal.kernel.template.TemplateManagerUtil.getTemplate(TemplateManagerUtil.java:80) at com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl._getColumns(LayoutTemplateLocalServiceImpl.java:512) at com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl.readLayoutTemplate(LayoutTemplateLocalServiceImpl.java:391) at com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl._readLayoutTemplates(LayoutTemplateLocalServiceImpl.java:597) at com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl.init(LayoutTemplateLocalServiceImpl.java:262) at com.liferay.portal.kernel.service.LayoutTemplateLocalServiceUtil.init(LayoutTemplateLocalServiceUtil.java:96)
カスタムテーマが適用されていない場合は、代わりにエラーが発生します:
ERROR [https-redacted-nio-8443-exec-4][error_jsp:646] javax.servlet.ServletException: javax.servlet.jsp.JspException: com.liferay.portal.kernel.template.TemplateException: Unsupported template resource loader ftl javax.servlet.ServletException: javax.servlet.jsp.JspException: com.liferay.portal.kernel.template.TemplateException: Unsupported template resource loader ftl at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:664) at com.liferay.taglib.servlet.PageContextWrapper.handlePageException(PageContextWrapper.java:173) at org.apache.jsp.html.common.themes.portal_jsp._jspService(portal_jsp.java:714) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
[...]
Caused by: com.liferay.portal.kernel.template.TemplateException: Unsupported template resource loader ftl
at com.liferay.portal.kernel.template.TemplateResourceLoaderUtil._getTemplateResourceLoader(TemplateResourceLoaderUtil.java:137)
at com.liferay.portal.kernel.template.TemplateResourceLoaderUtil._hasTemplateResource(TemplateResourceLoaderUtil.java:154)
at com.liferay.portal.kernel.template.TemplateResourceLoaderUtil.hasTemplateResource(TemplateResourceLoaderUtil.java:72)
at com.liferay.taglib.util.ThemeUtil.doIncludeFTL(ThemeUtil.java:223)
at com.liferay.taglib.util.ThemeUtil.doDispatch(ThemeUtil.java:158)
at com.liferay.taglib.util.ThemeUtil.includeFTL(ThemeUtil.java:97)
at com.liferay.taglib.util.ThemeUtil.include(ThemeUtil.java:82)
at com.liferay.taglib.theme.IncludeTag.doEndTag(IncludeTag.java:34)
at org.apache.jsp.html.common.themes.portal_jsp._jspx_meth_liferay_002dtheme_005finclude_005f1(portal_jsp.java:759)
at org.apache.jsp.html.common.themes.portal_jsp._jspService(portal_jsp.java:689)
... 190 more
環境
- Liferay DXP 7.1
解決策
1) 影響を受けるバンドルを停止する
2) portal-ext.properties ファイルに include-and-override=portal-developer.properties
という行を追加します。 詳細はこちらのページを参照してください: Felix Gogo Shell
3) バンドルを起動し、問題が再び発生するのを待つ
4) telnet localhost 11311
コマンドで Gogo Shell コンソールを開きます。
5) 解決済み 束 Liferay Portal Template - Impl および Liferay Portal Template FreeMarkerなどがないか確認する:
g! lb template
START LEVEL 20
ID|State |Level|Name
137|Active | 10|Liferay Web Experience - Liferay Portlet Display Template - Impl (1.0.10)|1.0.10
138|Active | 10|Liferay Portlet Display Template Implementation (1.0.10)|1.0.10
139|Active | 10|Liferay Portlet Display Template Web (3.0.7)|3.0.7
187|Active | 10|Liferay Foundation - Liferay Portal Template - API (1.0.11)|1.0.11
188|Active | 10|Liferay Portal Template Soy API (1.0.2)|1.0.2
454|Active | 10|Liferay Web Experience - Liferay Portlet Display Template - API (1.0.10)|1.0.10
455|Active | 10|Liferay Portlet Display Template API (1.0.5)|1.0.5
635|Resolved | 10|Liferay Foundation - Liferay Portal Template - Impl (1.0.11)|1.0.11
636|Resolved | 10|Liferay Portal Template FreeMarker (4.0.18)|4.0.18
637|Active | 10|Liferay Portal Template Soy Implementation (1.0.16)|1.0.16
638|Active | 10|Liferay Portal Template Velocity (3.0.17)|3.0.17
639|Active | 10|Liferay Portal Template XSL (3.0.5)|3.0.5
640|Active | 10|Liferay Portal Template Soy Context Contributor (2.0.0)|2.0.0
688|Active | 10|Liferay Layout Page Template Service (1.0.28)|1.0.28
735|Active | 10|Liferay Petra Mail Template (1.0.3)|1.0.3
875|Active | 10|Liferay Layout Page Template API (1.5.0)|1.5.0
g!
6) 両バンドルともIDを通して起動する(上記の例では、635と636)。
g! start 635 636
7) Active の状態になっているか再度確認してください:
g! lb Template
START LEVEL 20
ID|State |Level|Name
137|Active | 10|Liferay Web Experience - Liferay Portlet Display Template - Impl (1.0.10)|1.0.10
138|Active | 10|Liferay Portlet Display Template Implementation (1.0.10)|1.0.10
139|Active | 10|Liferay Portlet Display Template Web (3.0.7)|3.0.7
187|Active | 10|Liferay Foundation - Liferay Portal Template - API (1.0.11)|1.0.11
188|Active | 10|Liferay Portal Template Soy API (1.0.2)|1.0.2
454|Active | 10|Liferay Web Experience - Liferay Portlet Display Template - API (1.0.10)|1.0.10
455|Active | 10|Liferay Portlet Display Template API (1.0.5)|1.0.5
635|Active | 10|Liferay Foundation - Liferay Portal Template - Impl (1.0.11)|1.0.11
636|Active | 10|Liferay Portal Template FreeMarker (4.0.18)|4.0.18
637|Active | 10|Liferay Portal Template Soy Implementation (1.0.16)|1.0.16
638|Active | 10|Liferay Portal Template Velocity (3.0.17)|3.0.17
639|Active | 10|Liferay Portal Template XSL (3.0.5)|3.0.5
640|Active | 10|Liferay Portal Template Soy Context Contributor (2.0.0)|2.0.0
688|Active | 10|Liferay Layout Page Template Service (1.0.28)|1.0.28
735|Active | 10|Liferay Petra Mail Template (1.0.3)|1.0.3
875|Active | 10|Liferay Layout Page Template API (1.5.0)|1.5.0
g!
8)ポータルサイトのホームページを更新すると、正しく動作するようになります。
9) ポータルを停止し、portal-ext.properties の include-and-override=portal-developer.properties
を削除し、再度ポータルを起動します。