問題
- 6.1 からドキュメントをインポート (またはアップグレード) しようとすると、次のようなエラーが発生します。
2021-07-01 11:02:08.680 ERROR [liferay/background_task-8][BackgroundTaskMessageListener:182] Unable to execute background task
com.liferay.exportimport.kernel.lar.PortletDataException: Invalid folder name Orden sobre subvenciones.
at com.liferay.exportimport.kernel.lar.BaseStagedModelDataHandler.importStagedModel(BaseStagedModelDataHandler.java:408)
at com.liferay.exportimport.kernel.lar.StagedModelDataHandlerUtil.importStagedModel(StagedModelDataHandlerUtil.java:381)
at com.liferay.exportimport.kernel.lar.StagedModelDataHandlerUtil.importStagedModel(StagedModelDataHandlerUtil.java:367)
at com.liferay.document.library.web.internal.lar.DLAdminPortletDataHandler.doImportData(DLAdminPortletDataHandler.java:271)
at com.liferay.exportimport.kernel.lar.BasePortletDataHandler.importData(BasePortletDataHandler.java:390)
at com.liferay.exportimport.internal.controller.PortletImportControllerImpl.importPortletData(PortletImportControllerImpl.java:419)
at com.liferay.exportimport.internal.controller.PortletImportControllerImpl.importPortletData(PortletImportControllerImpl.java:348)
at com.liferay.exportimport.internal.controller.PortletImportControllerImpl.doImportPortletInfo(PortletImportControllerImpl.java:1049)
at com.liferay.exportimport.internal.controller.PortletImportControllerImpl.importFile(PortletImportControllerImpl.java:299)
at com.liferay.portlet.exportimport.service.impl.ExportImportLocalServiceImpl.importPortletInfo(ExportImportLocalServiceImpl.java:445)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
....
at java.lang.Thread.run(Thread.java:748)
Caused by: com.liferay.document.library.kernel.exception.FolderNameException: Invalid folder name Orden sobre subvenciones.
at com.liferay.document.library.internal.util.DLValidatorImpl.validateDirectoryName(DLValidatorImpl.java:134)
at com.liferay.document.library.kernel.util.DLValidatorUtil.validateDirectoryName(DLValidatorUtil.java:48)
at com.liferay.portlet.documentlibrary.service.impl.DLFolderLocalServiceImpl.validateFolder(DLFolderLocalServiceImpl.java:1363)
at com.liferay.portlet.documentlibrary.service.impl.DLFolderLocalServiceImpl.validateFolder(DLFolderLocalServiceImpl.java:1388)
at com.liferay.portlet.documentlibrary.service.impl.DLFolderLocalServiceImpl.addFolder(DLFolderLocalServiceImpl.java:107)
at sun.reflect.GeneratedMethodAccessor744.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:60)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
at com.sun.proxy.$Proxy146.addFolder(Unknown Source)
at com.liferay.portal.repository.liferayrepository.LiferayLocalRepository.addFolder(LiferayLocalRepository.java:170)
at com.liferay.portal.repository.util.LocalRepositoryWrapper.addFolder(LocalRepositoryWrapper.java:83)
at com.liferay.portal.repository.util.LocalRepositoryWrapper.addFolder(LocalRepositoryWrapper.java:83)
at com.liferay.portal.repository.util.LocalRepositoryWrapper.addFolder(LocalRepositoryWrapper.java:83)
at com.liferay.portal.repository.util.LocalRepositoryWrapper.addFolder(LocalRepositoryWrapper.java:83)
at com.liferay.portal.repository.util.LocalRepositoryWrapper.addFolder(LocalRepositoryWrapper.java:83)
at com.liferay.portal.repository.capabilities.CapabilityLocalRepository.addFolder(CapabilityLocalRepository.java:115)
at com.liferay.portlet.documentlibrary.service.impl.DLAppLocalServiceImpl.addFolder(DLAppLocalServiceImpl.java:347)
at sun.reflect.GeneratedMethodAccessor745.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:66)
at com.sun.proxy.$Proxy510.addFolder(Unknown Source)
at com.liferay.document.library.kernel.service.DLAppLocalServiceWrapper.addFolder(DLAppLocalServiceWrapper.java:228)
at sun.reflect.GeneratedMethodAccessor745.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:66)
at com.sun.proxy.$Proxy511.addFolder(Unknown Source)
at sun.reflect.GeneratedMethodAccessor745.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:60)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
at com.sun.proxy.$Proxy149.addFolder(Unknown Source)
at com.liferay.document.library.internal.exportimport.data.handler.FolderStagedModelDataHandler.doImportStagedModel(FolderStagedModelDataHandler.java:287)
at com.liferay.document.library.internal.exportimport.data.handler.FolderStagedModelDataHandler.doImportStagedModel(FolderStagedModelDataHandler.java:64)
at com.liferay.exportimport.kernel.lar.BaseStagedModelDataHandler.importStagedModel(BaseStagedModelDataHandler.java:367)
... 38 more - ドキュメント名が「.」で終わっている。 6.1 では有効でしたが、インポート プロセスでエラーが発生しています。
Environment
- Liferay ポータル 6.2、DXP 7.0、DXP 7.1、DXP 7.2、DXP 7.3
解決策
- この問題は、ファイル名に渡された最後の文字の検証に関連している可能性があります。 この検証は 6.2 バージョンで追加されました。
- 6.2 以降、プロパティ
dl.char.last.blacklist
ファイル名の最後の位置で許可される文字を制御します。 - デフォルトでは、このプロパティの値は次のとおりです。
dl.char.last.blacklist=\\u0020,.
- ご覧のとおり、文字「。」デフォルトでは許可されていません。 この文字で終わるファイル名がある場合は、文字「.」を削除する必要があります。プロパティから。