legacy-knowledge-base
公開されました Jun. 30, 2025

com.liferay.portal.kernel.exception.NoSuchResourcePermissionException:{companyId=20100, name=com.liferay.translation.en_US, primKey=com.liferay.translation.en_US, scope=4}.

投稿者

Jorge Diaz

knowledge-article-header-disclaimer-how-to

knowledge-article-header-disclaimer

legacy-article

learn-legacy-article-disclaimer-text

問題

サイトビルダー」=> 「ページ」を開くと、以下のエラーが発生し、サイトページが表示されない:

com.liferay.portal.kernel.exception.NoSuchResourcePermissionException: {companyId=20100, name=com.liferay.translation.en_US, primKey=com.liferay.translation.en_US, scope=4}
at com.liferay.portal.service.impl.ResourcePermissionLocalServiceImpl.hasResourcePermission(ResourcePermissionLocalServiceImpl.java:1080) ~[portal-impl.jar:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:66) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.service.ResourcePermissionLocalServiceWrapper.hasResourcePermission(ResourcePermissionLocalServiceWrapper.java:800) ~[portal-kernel.jar:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:66) ~[portal-kernel.jar:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50) ~[portal-impl.jar:?]
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69) ~[portal-impl.jar:?]
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57) ~[portal-impl.jar:?]
at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49) ~[portal-impl.jar:?]
at com.liferay.portal.service.impl.ResourceLocalServiceImpl.hasUserPermissions(ResourceLocalServiceImpl.java:408) ~[portal-impl.jar:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50) ~[portal-impl.jar:?]
at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49) ~[portal-impl.jar:?]
at com.liferay.portal.kernel.service.ResourceLocalServiceUtil.hasUserPermissions(ResourceLocalServiceUtil.java:345) ~[portal-kernel.jar:?]
at com.liferay.portal.security.permission.AdvancedPermissionChecker.doCheckPermission(AdvancedPermissionChecker.java:421) ~[portal-impl.jar:?]
at com.liferay.portal.security.permission.AdvancedPermissionChecker._hasUserPermissionImpl(AdvancedPermissionChecker.java:1309) ~[portal-impl.jar:?]
at com.liferay.portal.security.permission.AdvancedPermissionChecker._hasPermissionImpl(AdvancedPermissionChecker.java:1278) ~[portal-impl.jar:?]
at com.liferay.portal.security.permission.AdvancedPermissionChecker.hasPermission(AdvancedPermissionChecker.java:243) ~[portal-impl.jar:?]

Environment

  • Liferay DXP 7.3
  • Liferay DXP 7.4

解決策

  • その解決策とは? 明確であること、簡潔であること、正しいこと

追加情報

com.liferay.portal.kernel.exception.NoSuchResourcePermissionException 例外が発生する根本原因は、ResourcePermission テーブルに en_US 言語にリンクしたレコードがないことです:
 {companyId=20100, name=com.liferay.translation.en_US, primKey=com.liferay.translation.en_US, scope=4}

このen_US言語はportal-ext.propertiesにはありませんが、インスタンスでは使用されています。

それを解決するためには、2つの選択肢があります:

オプション1:portal-ext.propertiesにen_US言語を追加する。

  1. アプリケーションサーバーを停止する
  2. portal-ext.のプロパティを編集する
  3. ファイルで、localesとlocales.enabledのプロパティにen_USを追加する例です:
    • locales=ca_ES,es_ES,en_US
    • locales.enabled=ca_ES,es_ES,en_US
  4. アプリケーションサーバーを起動します:ResourcePermissionテーブルの不足するen_USエントリーは、スタートアップ時に追加されます。

選択肢2:インスタンス構成からen_US言語を削除する

システムでen_USローカルを使用しない場合、インスタンス構成から削除することができます。

  1. コントロールパネル => インスタンス設定 => ローカライズに移動します。
  2. Current」列から「en_US」ロケールを削除する。 これらの言語は、portal-ext.propertiesの設定と一致している必要があります。
  3. 変更を保存

did-this-article-resolve-your-issue

legacy-knowledge-base