問題
- アップグレード中に、以下のようなエラーが発生する場合があります:
2023-03-29 08:09:14.891 ERROR [Framework Event Dispatcher: Equinox Container: 6a56b6f1-2524-4207-a9fb-dfe9b3dab41e][Framework:56] FrameworkEvent ERROR
java.lang.IllegalArgumentException: Portlet must not be null
at com.liferay.portal.security.permission.ResourceActionsImpl.populatePortletResource(ResourceActionsImpl.java:494) ~[portal-impl.jar:?]
at com.liferay.object.internal.security.permission.resource.util.ObjectDefinitionResourcePermissionUtil.populateResourceActions(ObjectDefinitionResourcePermissionUtil.java:76) ~[?:?]
at com.liferay.object.internal.deployer.ObjectDefinitionDeployerImpl.deploy(ObjectDefinitionDeployerImpl.java:186) ~[?:?]
at com.liferay.object.service.impl.ObjectDefinitionLocalServiceImpl._addingObjectDefinitionDeployer(ObjectDefinitionLocalServiceImpl.java:808) ~[?:?]
at com.liferay.object.service.impl.ObjectDefinitionLocalServiceImpl.setAopProxy(ObjectDefinitionLocalServiceImpl.java:594) ~[?:?]
at com.liferay.portal.aop.internal.AopServiceRegistrar._getService(AopServiceRegistrar.java:146) ~[?:?]
at com.liferay.portal.aop.internal.AopServiceRegistrar.register(AopServiceRegistrar.java:80) ~[?:?]
at com.liferay.portal.aop.internal.AopServiceResolver.addAopServiceRegistrar(AopServiceResolver.java:38) ~[?:?]
at com.liferay.portal.aop.internal.AopServiceManager$AopServiceServiceTrackerCustomizer.addingService(AopServiceManager.java:124) ~[?:?]
at com.liferay.portal.aop.internal.AopServiceManager$AopServiceServiceTrackerCustomizer.addingService(AopServiceManager.java:96) ~[?:?]
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943) ~[org.eclipse.osgi.jar:?]
...
Environment
- Liferay DXP 7.0+
解決策
- 解決策としては、
objectdefinition
テーブルを確認し、そこに異常がないかを確認することです - 表を見てもわからない場合は、デバッグを行い、
ObjectDefinitionDeployerImpl.java
クラスのデプロイメソッドに何らかのブレークポイントを設置する必要があります。 -
問題のある行が見つかったら、以下のスクリプトでエントリーを削除します:
import com.liferay.object.service.ObjectDefinitionServiceUtil;
ObjectDefinitionServiceUtil.deleteObjectDefinition(objectDefinitionId);
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン