FreeMarkerテンプレートのNPE / NullPointerExceptionを解決する。

問題

  • ログを見ると、以下のようなエラーが繰り返し観測されます:
    ERROR [default task-522][runtime:60] Error executing FreeMarker template
    FreeMarker template error:
    Java method "com.liferay.portlet.expando.model.impl.ExpandoBridgeImpl.getAttribute(String)" threw an exception when invoked on com.liferay.portlet.expando.model.impl.ExpandoBridgeImpl object "com.liferay.portlet.expando.model.impl.ExpandoBridgeImpl@321baf4e"; see cause exception in the Java stack trace.
    
    ----
    FTL stack trace ("~" means nesting-related):
        - Failed at: #assign googleSite = themeDisplay.get...  [in template "portal-theme_SERVLET_CONTEXT_/templates/google_site.ftl" at line 2, column 1]
        - Reached through: #include "${full_templates_path}/goog...  [in template "portal-theme_SERVLET_CONTEXT_/templates/portal_normal.ftl" at line 24, column 11]
    ----
    
    Java stack trace (for programmers):
    ----
    freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...]
        at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:311)
        at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:284)
        at freemarker.ext.beans.OverloadedMethodsModel.exec(OverloadedMethodsModel.java:68)
    ...
    Caused by: java.lang.RuntimeException: java.lang.NullPointerException
        at com.liferay.portlet.expando.model.impl.ExpandoBridgeImpl.getAttribute(ExpandoBridgeImpl.java:218)
        at com.liferay.portlet.expando.model.impl.ExpandoBridgeImpl.getAttribute(ExpandoBridgeImpl.java:198)
        at sun.reflect.GeneratedMethodAccessor923.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1458)
        at freemarker.ext.beans.ReflectionCallableMemberDescriptor.invokeMethod(ReflectionCallableMemberDescriptor.java:52)
        at freemarker.ext.beans.MemberAndArguments.invokeMethod(MemberAndArguments.java:48)
        at freemarker.ext.beans.OverloadedMethodsModel.exec(OverloadedMethodsModel.java:62)
        ... 187 more
    Caused by: java.lang.NullPointerException
        at com.liferay.portlet.expando.service.permission.ExpandoColumnPermissionImpl.contains(ExpandoColumnPermissionImpl.java:73)
        at com.liferay.expando.kernel.service.permission.ExpandoColumnPermissionUtil.contains(ExpandoColumnPermissionUtil.java:57)
        at com.liferay.portlet.expando.service.impl.ExpandoValueServiceImpl.getData(ExpandoValueServiceImpl.java:121)
    ...
          

環境

  • Liferay DXP 7.1

解像度

  • フィックスパック27をインストールしてください
  • または、 LPS-130454でHotfixをリクエストしてください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています