legacy-knowledge-base
公開されました Jul. 2, 2025

名前が文字「.」で終わるファイルのインポート中にエラーが発生しました。 (ドット) 6.1から

written-by

David Tello

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • 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,.
  • ご覧のとおり、文字「。」デフォルトでは許可されていません。 この文字で終わるファイル名がある場合は、文字「.」を削除する必要があります。プロパティから。

did-this-article-resolve-your-issue

legacy-knowledge-base