問題
- 一部のインスタンスではユーザーをエクスポートできません。インターフェイスが空白になり、次の例外がスローされます。
"2021-04-08T10:57:43.604+0200 ERROR [http-nio-8080-exec-25][ExportUsersMVCResourceCommand:100] java.lang.RuntimeException: java.lang.NullPointerException
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 com.liferay.users.admin.web.portlet.action.ExportUsersMVCResourceCommand.getUserCSV(ExportUsersMVCResourceCommand.java:117)
at com.liferay.users.admin.web.portlet.action.ExportUsersMVCResourceCommand.getUsersCSV(ExportUsersMVCResourceCommand.java:257)
at com.liferay.users.admin.web.portlet.action.ExportUsersMVCResourceCommand.doServeResource(ExportUsersMVCResourceCommand.java:91)
at com.liferay.portal.kernel.portlet.bridges.mvc.BaseMVCResourceCommand.serveResource(BaseMVCResourceCommand.java:41)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.callResourceMethod(MVCPortlet.java:442)
at com.liferay.portal.kernel.portlet.LiferayPortlet.serveResource(LiferayPortlet.java:140)
.......................
.......................
at java.lang.Thread.run(Thread.java:748)
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:58)
at com.liferay.portlet.expando.service.impl.ExpandoValueServiceImpl.getData(ExpandoValueServiceImpl.java:121)
at sun.reflect.GeneratedMethodAccessor761.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
Environment
- Liferay DXP 7.0+
解決策
-
この失敗は、 portal-ext.properties とカスタム フィールド インスタンス設定の間の構成が一致していないことが原因です。
-
プロパティ
users.export.csv.fields
に expando 属性が定義されており、この属性がユーザーがエクスポートされるインスタンスに設定されていない場合、例外がスローされます。 -
この問題を解決するには、インスタンス設定と portal-ext.propertiesの両方の構成を調整する必要があります。 expando 属性が
users.export.csv.fields
に追加された場合、この新しい属性をすべてのインスタンスで定義する必要があります。