Error of JSP compilation when deploying MVC portlet

1 week ago 6
ARTICLE AD BOX

I am working on Liferay 7.4 MVC portlet. whenever I deploy the MVC portlet on page when used search container it shows the JSP compilation error and provider not found error in logs. Is there any solution for it? i have been trying to resolve it for 2 days but it is not resolving.

Here is the Important files and the error log.

View.jsp:

<%@ include file="/init.jsp"%> <portlet:renderURL var="addOwnerURL"> <portlet:param name="mvcRenderCommandName" value="/owner/add" /> </portlet:renderURL> <div class="mb-3"> <a href="${addOwnerURL}" class="btn btn-primary"> <i class="glyphicon glyphicon-plus"></i> Add Owner </a> </div> <% int totalOwners = OwnerLocalServiceUtil.getOwnersCount(); %> <liferay-ui:search-container var="searchContainer" total="<%=totalOwners%>" delta="5" emptyResultsMessage="no-owners-found"> <liferay-ui:search-container-results results="<%=OwnerLocalServiceUtil.getOwners(searchContainer.getStart(), searchContainer.getEnd())%>" /> <liferay-ui:search-container-row className="com.stpl.liferay.training.vehicle.information.system.model.Owner" modelVar="owner"> <liferay-ui:search-container-column-text name="ID" property="ownerId" /> <liferay-ui:search-container-column-text name="Name" property="ownerName" /> <liferay-ui:search-container-column-text name="Email" property="ownerEmail" /> <liferay-ui:search-container-column-text name="Phone" property="phoneNumber" /> <liferay-ui:search-container-column-text name="Address" property="address" /> <liferay-ui:search-container-column-text name="Age" property="age" /> <liferay-ui:search-container-column-text name="Licence" property="drivingLicence" /> </liferay-ui:search-container-row> <liferay-ui:search-iterator /> </liferay-ui:search-container>

Build.Gradle:

dependencies { compileOnly group: "com.liferay.portal", name: "release.portal.api" cssBuilder group: "com.liferay", name: "com.liferay.css.builder", version: "3.1.4" compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib" compileOnly project(":modules:vehicle-information-system-sb:vehicle-information-system-sb-api") }

Init.jsp:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %> <%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %> <%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %> <%@ page import="com.stpl.liferay.training.vehicle.information.system.service.OwnerLocalServiceUtil"%> <%@ page import="com.stpl.liferay.training.vehicle.information.system.model.Owner"%>

Error log:

2026-03-24 13:05:06.715 ERROR [http-nio-8080-exec-8][PortletRequestDispatcherImpl:295] Unable to dispatch request: Unable to compile class for JSP 2026-03-24 13:05:06.716 ERROR [http-nio-8080-exec-8][PortletServlet:109] Unable to process portlet com_stpl_liferay_training_vehicle_information_VehicleInformationWebPortlet_INSTANCE_ebe a: org.apache.jasper.JasperException: Unable to compile class for JSP javax.portlet.PortletException: org.apache.jasper.JasperException: Unable to compile class for JSP at com.liferay.portlet.internal.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:298) ~[portal-impl.jar:?] at com.liferay.portlet.internal.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:114) ~[portal-impl.jar:?] at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.include(MVCPortlet.java:611) ~[portal-kernel.jar:?] at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.include(MVCPortlet.java:627) ~[portal-kernel.jar:?] at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.doView(MVCPortlet.java:172) ~[portal-kernel.jar:?] at com.liferay.portal.kernel.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:286) ~[portal-kernel.jar:?] Caused by: org.apache.jasper.JasperException: Unable to compile class for JSP at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:619) ~[jasper.jar:9.0.98] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399) ~[jasper.jar:9.0.98] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) ~[jasper.jar:9.0.98] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) ~[jasper.jar:9.0.98] at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) ~[servlet-api.jar:4.0.FR] at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:323) ~[?:?] at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:332) ~[?:?] at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:147) ~[?:?] at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:63) ~[?:?] at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120) ~[?:?] at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48) ~[?:?] at com.liferay.portlet.internal.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:282) ~[portal-impl.jar:?] ... 208 more Caused by: java.lang.RuntimeException: java.nio.file.ProviderNotFoundException: Provider not found at com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:168) ~[jdk.compiler:?] at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100) ~[jdk.compiler:?] at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94) ~[jdk.compiler:?] at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.CompilerWrapper._compile(CompilerWrapper.java:401) ~[?:?] at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.CompilerWrapper.generateClass(CompilerWrapper.java:162) ~[?:?] at org.apache.jasper.compiler.Compiler.compile(Compiler.java:371) ~[jasper.jar:9.0.98] at org.apache.jasper.compiler.Compiler.compile(Compiler.java:343) ~[jasper.jar:9.0.98]
Read Entire Article