ナレッジベース
公開されました Aug. 25, 2025

Liferay DXP Agent Fails to Start on Jakarta (Tomcat 10) Images with javax.annotation Error

written-by

JR Houn

knowledge-article-header-disclaimer-how-to

knowledge-article-header-disclaimer

Issue

When using a Liferay DXP instance deployed on a Jakarta-based image (e.g., Tomcat 10), the liferay-dxp-agent bundle may fail to start. The logs will show an org.osgi.framework.BundleException error related to an unresolved package import.

A key part of the error message will look like this:

Caused by: org.osgi.framework.BundleException: Could not resolve module: liferay-dxp-agent [...] 
Unresolved requirement: Import-Package: javax.annotation

Environment

This issue affects Liferay PaaS environments that utilize a Jakarta-based application server, such as Tomcat 10 and newer.

Resolution

The solution is to upgrade the liferaycloud/liferay-dxp service image in your environment to version 5.9.0 or newer.

This updated image contains a fix that resolves the package incompatibility.

Background

The core of the problem lies in the transition from Java EE to Jakarta EE. As part of this evolution, application servers like Tomcat 10 replaced the legacy javax.* packages with the new jakarta.* packages.

The older liferay-dxp-agent expected the javax.annotation package to be available, which is no longer provided in the Jakarta environment, causing the OSGi framework to fail when trying to resolve the agent's dependencies.

To address this, Liferay developed a Jakarta-compatible version of the DXP agent. The updated liferay-dxp service image (v5.9.0+) is intelligent; it detects whether the underlying server is a Jakarta environment and deploys the appropriate version of the agent JAR, ensuring seamless compatibility.

did-this-article-resolve-your-issue

ナレッジベース