Legacy Knowledge Base
Published Jun. 30, 2025

Portlet 3.0 Control Panel Apps cause unexpected errors

Written By

Jose L. Bango

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

You are viewing an article from our legacy "FastTrack" publication program, made available for informational purposes. Articles in this program were published without a requirement for independent editing or verification and are provided"as is" without guarantee.

Before using any information from this article, independently verify its suitability for your situation and project.

Issue

  • Following the deployment of a Portlet 3.0 Control Panel App, other areas of the control panel are experiencing malfunctions.
  • For instance, the My Sites selector is not responding, and in version 7.3, the Global Menu at the top is also inoperative, resulting in these error:
    UnsupportedOperationException: Requires 3.0 opt-in

Environment

  • Liferay DXP 7.2
  • Liferay DXP 7.3

Resolution

  • This error indicates a compatibility issue between your custom development (configured with javax.portlet.version=3.0) and the Liferay DXP 7.2/7.3 Control Panel.
  • While your custom development may work correctly on its own, the chain of requests triggered when accessing 'My Sites' or the Global menu (and potentially other areas) forces other components to conform to the same Portlet 3.0 specification level. Since this is not the case, it eventually results in the aforementioned exception.
  • Therefore, the only feasible workaround is to review your development to identify and modify any dependencies on Portlet 3.0-specific APIs, and adapt it to use Portlet 2.0 instead.

Additional Information

Did this article resolve your issue ?

Legacy Knowledge Base