<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>LFR 7.1.3-GA4 ClassNotFound javax.portlet.PortletRequest on MVCCommand</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=114847501" />
  <subtitle>LFR 7.1.3-GA4 ClassNotFound javax.portlet.PortletRequest on MVCCommand</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=114847501</id>
  <updated>2026-04-03T23:28:05Z</updated>
  <dc:date>2026-04-03T23:28:05Z</dc:date>
  <entry>
    <title>RE: LFR 7.1.3-GA4 ClassNotFound javax.portlet.PortletRequest on MVCCommand</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114886068" />
    <author>
      <name>Minhchau Dang</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114886068</id>
    <updated>2019-08-26T16:40:01Z</updated>
    <published>2019-08-26T16:40:01Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;strong&gt;javax.portlet;resolution:=optional;version="[3.0,4)"&lt;/strong&gt;&lt;br&gt;&lt;br&gt;Ah, that makes sense then. If you run the following command in GoGo shell, you should see that Liferay is actually claiming to provide version 2.0 of the package due to &lt;a href="https://issues.liferay.com/browse/LPS-81636"&gt;LPS-81636&lt;/a&gt;, so that portlets built when 7.1 was released continue to work on later versions of 7.1, even though we finished our Portlet 3.0 implementation:&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;inspect cap osgi.wiring.package 0 | grep javax.portlet&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;In our Gradle tooling, we remove the version from javax.portlet's import in order to avoid this problem. I checked the Blade sample and noticed that it's importing version 2.0 of the API, so that it doesn't run into this problem, so it looks like our Maven tooling doesn't have the features mentioned in &lt;a href="https://issues.liferay.com/browse/LPS-81636"&gt;LPS-81636&lt;/a&gt;.&lt;br&gt;&lt;br&gt;As a workaround, can you try adding the following to your bnd.bnd?&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;Import-Package: javax.portlet;version="[2,4)",*&lt;/code&gt;&lt;/pre&gt;&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Minhchau Dang</dc:creator>
    <dc:date>2019-08-26T16:40:01Z</dc:date>
  </entry>
  <entry>
    <title>RE: LFR 7.1.3-GA4 ClassNotFound javax.portlet.PortletRequest on MVCCommand</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114856317" />
    <author>
      <name>Ramon Garcia</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114856317</id>
    <updated>2019-08-24T06:51:25Z</updated>
    <published>2019-08-24T06:51:25Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Hi Michchau,First thanks for your reply...I remove the plugins references to org.apache.felix:maven-bundle-plugin, use exactly the same as the blade sample, as you as suggest.....But the exception is trowed...The MANIFEST of generated jar is:&lt;pre&gt;&lt;code&gt;Manifest-Version: 1.0
Bundle-SymbolicName: com.my.company.core.liferay.login-action
Archiver-Version: Plexus Archiver
Built-By: ramon
Bnd-LastModified: 1566628996031
Bundle-ManifestVersion: 2
Import-Package: com.liferay.portal.kernel.portlet.bridges.mvc;resoluti
&amp;amp;nbsp;on:=optional;version="[1.6,2)",com.liferay.portal.kernel.util;resolut
&amp;amp;nbsp;ion:=optional;version="[8.0,9)",javax.portlet;resolution:=optional;ve
&amp;amp;nbsp;rsion="[3.0,4)",javax.servlet.http;resolution:=optional;version="[3.0
&amp;amp;nbsp;,4)",org.slf4j;resolution:=optional;version="[1.7,2)"
Require-Capability: osgi.extender;filter:="(&amp;amp;amp;(osgi.extender=osgi.compo
&amp;amp;nbsp;nent)(version&amp;amp;gt;=1.3.0)(!(version&amp;amp;gt;=2.0.0)))",osgi.service;filter:="(obj
&amp;amp;nbsp;ectClass=com.liferay.portal.kernel.portlet.bridges.mvc.MVCActionComma
&amp;amp;nbsp;nd)";effective:=active,osgi.ee;filter:="(&amp;amp;amp;(osgi.ee=JavaSE)(version=1.
&amp;amp;nbsp;8))"
Service-Component: OSGI-INF/com.my.company.core.liferay.actions.Custom
&amp;amp;nbsp;LoginAction.xml
Tool: Bnd-3.5.0.201709291849
Provide-Capability: osgi.service;objectClass:List&amp;lt;string&amp;gt;="com.liferay
&amp;amp;nbsp;.portal.kernel.portlet.bridges.mvc.MVCActionCommand"
Bundle-Name: com.my.company.core.liferay.login-action
Bundle-Version: 1.0.0
Private-Package: com.my.company.core.liferay.actions
Created-By: 1.8.0_212 (Oracle Corporation)
Build-Jdk: 1.8.0_212
&amp;lt;/string&amp;gt;&lt;/code&gt;&lt;/pre&gt;I think it is correct......&amp;nbsp; but the deployment fails.....Thanks in advance...&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Ramon Garcia</dc:creator>
    <dc:date>2019-08-24T06:51:25Z</dc:date>
  </entry>
  <entry>
    <title>RE: LFR 7.1.3-GA4 ClassNotFound javax.portlet.PortletRequest on MVCCommand</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114871126" />
    <author>
      <name>Minhchau Dang</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114871126</id>
    <updated>2019-08-24T01:14:55Z</updated>
    <published>2019-08-24T01:14:55Z</published>
    <summary type="html">&lt;strong&gt;Some idea about what is the error in my proposal?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The only thing I can think of is if the manifest is built incorrectly from your current plugin configuration, since the 7.1 Blade samples use a different set of plugins (&lt;a href="https://github.com/liferay/liferay-blade-samples/blob/7.1/maven/parent.bnd.bundle.plugin/pom.xml"&gt;reference&lt;/a&gt;). Notably, there isn&amp;#39;t any mention of org.apache.felix:maven-bundle-plugin in the Blade sample.&lt;br /&gt;&lt;br /&gt;Can you try removing the references to org.apache.felix:maven-bundle-plugin? If that doesn&amp;#39;t work, can you provide the contents of the META-INF/MANIFEST.MF from your compiled .jar?</summary>
    <dc:creator>Minhchau Dang</dc:creator>
    <dc:date>2019-08-24T01:14:55Z</dc:date>
  </entry>
  <entry>
    <title>LFR 7.1.3-GA4 ClassNotFound javax.portlet.PortletRequest on MVCCommand</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114847500" />
    <author>
      <name>Ramon Garcia</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=114847500</id>
    <updated>2019-08-23T05:54:45Z</updated>
    <published>2019-08-23T05:54:45Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Hi, I have a problem with classNotFound exceptions when try to create a OSGI module that overrides &lt;strong&gt;Liferay Login Commands&lt;/strong&gt;.&lt;br&gt;First I expose how my code looks:My &lt;strong&gt;pom.xml&lt;/strong&gt; looks like:&lt;br&gt;&lt;pre&gt;&lt;code&gt;[code]&amp;lt;!--?xml version="1.0" encoding="UTF-8"?--&amp;gt;
&amp;lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&amp;gt;
    &amp;lt;modelversion&amp;gt;4.0.0&amp;lt;/modelversion&amp;gt;
    &amp;lt;groupid&amp;gt;com.my.company.core&amp;lt;/groupid&amp;gt;
    &amp;lt;artifactid&amp;gt;custom-login-action&amp;lt;/artifactid&amp;gt;
    &amp;lt;version&amp;gt;2.0.0-SNAPSHOT&amp;lt;/version&amp;gt;
    &amp;lt;packaging&amp;gt;jar&amp;lt;/packaging&amp;gt;

    &amp;lt;dependencies&amp;gt;

        &amp;lt;!-- Base --&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupid&amp;gt;com.liferay.portal&amp;lt;/groupid&amp;gt;
            &amp;lt;artifactid&amp;gt;com.liferay.portal.kernel&amp;lt;/artifactid&amp;gt;
            &amp;lt;version&amp;gt;3.0.0&amp;lt;/version&amp;gt;
            &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
        &amp;lt;/dependency&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupid&amp;gt;org.osgi&amp;lt;/groupid&amp;gt;
            &amp;lt;artifactid&amp;gt;org.osgi.service.component.annotations&amp;lt;/artifactid&amp;gt;
            &amp;lt;version&amp;gt;1.3.0&amp;lt;/version&amp;gt;
            &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
        &amp;lt;/dependency&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupid&amp;gt;org.osgi&amp;lt;/groupid&amp;gt;
            &amp;lt;artifactid&amp;gt;osgi.cmpn&amp;lt;/artifactid&amp;gt;
            &amp;lt;version&amp;gt;6.0.0&amp;lt;/version&amp;gt;
            &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
        &amp;lt;/dependency&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupid&amp;gt;org.osgi&amp;lt;/groupid&amp;gt;
            &amp;lt;artifactid&amp;gt;osgi.core&amp;lt;/artifactid&amp;gt;
            &amp;lt;version&amp;gt;5.0.0&amp;lt;/version&amp;gt;
            &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
        &amp;lt;/dependency&amp;gt;

        &amp;lt;!-- Portlet and Servlet api--&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupid&amp;gt;javax.portlet&amp;lt;/groupid&amp;gt;
            &amp;lt;artifactid&amp;gt;portlet-api&amp;lt;/artifactid&amp;gt;
            &amp;lt;version&amp;gt;3.0.1&amp;lt;/version&amp;gt;
            &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
        &amp;lt;/dependency&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupid&amp;gt;javax.servlet&amp;lt;/groupid&amp;gt;
            &amp;lt;artifactid&amp;gt;javax.servlet-api&amp;lt;/artifactid&amp;gt;
            &amp;lt;version&amp;gt;3.0.1&amp;lt;/version&amp;gt;
            &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
        &amp;lt;/dependency&amp;gt;

        &amp;lt;!-- Logging --&amp;gt;
        &amp;lt;dependency&amp;gt;
            &amp;lt;groupid&amp;gt;org.slf4j&amp;lt;/groupid&amp;gt;
            &amp;lt;artifactid&amp;gt;slf4j-api&amp;lt;/artifactid&amp;gt;
            &amp;lt;version&amp;gt;1.7.26&amp;lt;/version&amp;gt;
        &amp;lt;/dependency&amp;gt;

    &amp;lt;/dependencies&amp;gt;

    &amp;lt;build&amp;gt;
        &amp;lt;finalname&amp;gt;com.my.company.core.liferay.login-action-${project.version}&amp;lt;/finalname&amp;gt;
        &amp;lt;plugins&amp;gt;
            &amp;lt;plugin&amp;gt;
                &amp;lt;groupid&amp;gt;org.apache.maven.plugins&amp;lt;/groupid&amp;gt;
                &amp;lt;artifactid&amp;gt;maven-jar-plugin&amp;lt;/artifactid&amp;gt;
                &amp;lt;version&amp;gt;2.6&amp;lt;/version&amp;gt;
                &amp;lt;configuration&amp;gt;
                    &amp;lt;archive&amp;gt;
                        &amp;lt;manifestfile&amp;gt;${project.build.outputDirectory}/META-INF/MANIFEST.MF&amp;lt;/manifestfile&amp;gt;
                    &amp;lt;/archive&amp;gt;
                &amp;lt;/configuration&amp;gt;
            &amp;lt;/plugin&amp;gt;
            &amp;lt;plugin&amp;gt;
                &amp;lt;groupid&amp;gt;org.apache.felix&amp;lt;/groupid&amp;gt;
                &amp;lt;artifactid&amp;gt;maven-bundle-plugin&amp;lt;/artifactid&amp;gt;
                &amp;lt;version&amp;gt;2.0.1&amp;lt;/version&amp;gt;
                &amp;lt;extensions&amp;gt;true&amp;lt;/extensions&amp;gt;
                &amp;lt;executions&amp;gt;
                    &amp;lt;execution&amp;gt;
                        &amp;lt;id&amp;gt;wrap-my-dependency&amp;lt;/id&amp;gt;
                        &amp;lt;goals&amp;gt;
                            &amp;lt;goal&amp;gt;wrap&amp;lt;/goal&amp;gt;
                        &amp;lt;/goals&amp;gt;
                        &amp;lt;configuration&amp;gt;
                            &amp;lt;wrapimportpackage&amp;gt;;&amp;lt;/wrapimportpackage&amp;gt;
                        &amp;lt;/configuration&amp;gt;
                    &amp;lt;/execution&amp;gt;
                &amp;lt;/executions&amp;gt;
            &amp;lt;/plugin&amp;gt;
            &amp;lt;plugin&amp;gt;
                &amp;lt;groupid&amp;gt;com.liferay&amp;lt;/groupid&amp;gt;
                &amp;lt;artifactid&amp;gt;com.liferay.portal.tools.bundle.support&amp;lt;/artifactid&amp;gt;
                &amp;lt;version&amp;gt;3.4.2&amp;lt;/version&amp;gt;
                &amp;lt;executions&amp;gt;
                    &amp;lt;execution&amp;gt;
                        &amp;lt;id&amp;gt;clean&amp;lt;/id&amp;gt;
                        &amp;lt;goals&amp;gt;
                            &amp;lt;goal&amp;gt;clean&amp;lt;/goal&amp;gt;
                        &amp;lt;/goals&amp;gt;
                        &amp;lt;phase&amp;gt;clean&amp;lt;/phase&amp;gt;
                    &amp;lt;/execution&amp;gt;

                    &amp;lt;execution&amp;gt;
                        &amp;lt;id&amp;gt;deploy&amp;lt;/id&amp;gt;
                        &amp;lt;goals&amp;gt;
                            &amp;lt;goal&amp;gt;deploy&amp;lt;/goal&amp;gt;
                        &amp;lt;/goals&amp;gt;
                        &amp;lt;phase&amp;gt;pre-integration-test&amp;lt;/phase&amp;gt;
                    &amp;lt;/execution&amp;gt;

                &amp;lt;/executions&amp;gt;
            &amp;lt;/plugin&amp;gt;
            &amp;lt;plugin&amp;gt;
                &amp;lt;groupid&amp;gt;biz.aQute.bnd&amp;lt;/groupid&amp;gt;
                &amp;lt;artifactid&amp;gt;bnd-maven-plugin&amp;lt;/artifactid&amp;gt;
                &amp;lt;version&amp;gt;3.5.0&amp;lt;/version&amp;gt;
                &amp;lt;executions&amp;gt;
                    &amp;lt;execution&amp;gt;
                        &amp;lt;goals&amp;gt;
                            &amp;lt;goal&amp;gt;bnd-process&amp;lt;/goal&amp;gt;
                        &amp;lt;/goals&amp;gt;
                    &amp;lt;/execution&amp;gt;
                &amp;lt;/executions&amp;gt;
                &amp;lt;dependencies&amp;gt;
                    &amp;lt;dependency&amp;gt;
                        &amp;lt;groupid&amp;gt;biz.aQute.bnd&amp;lt;/groupid&amp;gt;
                        &amp;lt;artifactid&amp;gt;biz.aQute.bndlib&amp;lt;/artifactid&amp;gt;
                        &amp;lt;version&amp;gt;3.5.0&amp;lt;/version&amp;gt;
                    &amp;lt;/dependency&amp;gt;
                    &amp;lt;dependency&amp;gt;
                        &amp;lt;groupid&amp;gt;com.liferay&amp;lt;/groupid&amp;gt;
                        &amp;lt;artifactid&amp;gt;com.liferay.ant.bnd&amp;lt;/artifactid&amp;gt;
                        &amp;lt;version&amp;gt;2.0.50&amp;lt;/version&amp;gt;
                    &amp;lt;/dependency&amp;gt;
                &amp;lt;/dependencies&amp;gt;
            &amp;lt;/plugin&amp;gt;
            &amp;lt;plugin&amp;gt;
                &amp;lt;artifactid&amp;gt;maven-compiler-plugin&amp;lt;/artifactid&amp;gt;
                &amp;lt;version&amp;gt;2.5&amp;lt;/version&amp;gt;
                &amp;lt;configuration&amp;gt;
                    &amp;lt;source&amp;gt;1.8
                    &amp;lt;target&amp;gt;1.8&amp;lt;/target&amp;gt;
                    &amp;lt;debug&amp;gt;true&amp;lt;/debug&amp;gt;
                &amp;lt;/configuration&amp;gt;
            &amp;lt;/plugin&amp;gt;
        &amp;lt;/plugins&amp;gt;
    &amp;lt;/build&amp;gt;
&amp;lt;/project&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;My bnd.bnd looks like:&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;[code]Bundle-Name: com.my.company.core.liferay.login-action
Bundle-SymbolicName: com.my.company.core.liferay.login-action
Bundle-Version: 1.0.0
Import-Package: *;resolution:=optional
&lt;/code&gt;&lt;/pre&gt;And finally my &lt;strong&gt;CustomLoginAction&lt;/strong&gt; looks like:&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;[code]package com.my.company.core.liferay.actions;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.servlet.http.HttpServletRequest;

import com.liferay.portal.kernel.portlet.bridges.mvc.BaseMVCActionCommand;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCActionCommand;
import com.liferay.portal.kernel.util.PortalUtil;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @author ramon
 */

@Component(
    immediate = true,
   property = {
      "javax.portlet.name=com_liferay_login_web_portlet_FastLoginPortlet",
      "javax.portlet.name=com_liferay_login_web_portlet_LoginPortlet",
      "mvc.command.name=/login/login",
        "service.ranking:Integer=100"
   },
   service = MVCActionCommand.class
)
public class CustomLoginAction extends BaseMVCActionCommand {
    private static final Logger logger = LoggerFactory.getLogger(CustomLoginAction.class);

    @Reference(
        target = "(component.name=com.liferay.login.web.internal.portlet.action.LoginMVCActionCommand)")
    protected MVCActionCommand mvcActionCommand;

    @Override
    protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse)
    throws Exception {

        HttpServletRequest request = PortalUtil.getOriginalServletRequest(
            PortalUtil.getHttpServletRequest(actionRequest));

        mvcActionCommand.processAction(actionRequest, actionResponse);

    }
}&lt;/code&gt;&lt;/pre&gt;If I deploy this generated jar on &lt;strong&gt;Liferay 7.1.3-ga4 on Tomcat&lt;/strong&gt; I got this ClassNotException:&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;2019-08-23 05:42:37.121 INFO &amp;amp;nbsp;[fileinstall-/Users/ramon/Documents/developement/servers/liferay713-ga4/liferay-portal-7.1.3-ga4-tomcat/osgi/modules][BundleStartStopLogger:39] STARTED com.my.company.core.liferay.login-action_1.0.0 [1061]
2019-08-23 05:42:37.131 ERROR [fileinstall-/Users/ramon/Documents/developement/servers/liferay713-ga4/liferay-portal-7.1.3-ga4-tomcat/osgi/modules][com_my_company_core_liferay_login-action:97] bundle com.my.company.core.liferay.login-action:1.0.0 (1061)BundleComponentActivator : Unexpected failure enabling component holder com.my.company.core.liferay.actions.CustomLoginAction&amp;amp;nbsp;
java.lang.NoClassDefFoundError: javax/portlet/PortletRequest
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.Class.getDeclaredConstructors0(Native Method)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.Class.getConstructors(Class.java:1651)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.ComponentConstructor.&amp;lt;init&amp;gt;(ComponentConstructor.java:94)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.ComponentMethodsImpl.initComponentMethods(ComponentMethodsImpl.java:106)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.AbstractComponentManager.initDependencyManagers(AbstractComponentManager.java:1008)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1026)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:936)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:756)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:666)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:432)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:665)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:339)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:381)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.Activator.access$200(Activator.java:49)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:263)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:1)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:230)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:137)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:129)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:191)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.Module.start(Module.java:467)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:428)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1264)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1237)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316)
Caused by: java.lang.ClassNotFoundException: javax.portlet.PortletRequest cannot be found by com.my.company.core.liferay.login-action_1.0.0
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;... 38 more
&amp;lt;/init&amp;gt;&lt;/code&gt;&lt;/pre&gt;The status on gogo shell with this deploy is&amp;nbsp;SATISFIED....&lt;br&gt;&lt;br&gt;If I include &lt;strong&gt;portlet-api jar&lt;/strong&gt; in bnd.bnd as a dependency...&amp;nbsp;&lt;pre&gt;&lt;code&gt;[code]Bundle-Name: com.my.company.core.liferay.login-action
Bundle-SymbolicName: com.my.company.core.liferay.login-action
Bundle-Version: 1.0.0
-includeresource: \
    META-INF/lib/portlet-api-3.0.1.jar=portlet-api-3.0.1.jar;lib:=true
-sources: false
Import-Package: *;resolution:=optional&lt;/code&gt;&lt;/pre&gt;I got:&lt;pre&gt;&lt;code&gt;2019-08-23 05:46:22.494 WARN &amp;amp;nbsp;[Refresh Thread: Equinox Container: c7c7ca74-d7dd-4711-a295-e2d485217997][com_my_company_core_liferay_login-action:103] bundle com.my.company.core.liferay.login-action:1.0.0 (1061)[com.my.company.core.liferay.actions.CustomLoginAction(4048)] : activate cannot be found&amp;amp;nbsp;
java.lang.LinkageError: loader constraint violation: loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously initiated loading for a different type with name "javax/portlet/ActionRequest"
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.ClassLoader.defineClass1(Native Method)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:276)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:634)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:555)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:514)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:501)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.Class.getDeclaredMethods0(Native Method)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at java.lang.Class.getDeclaredMethod(Class.java:2128)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.methods.BaseMethod.getMethod(BaseMethod.java:326)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.methods.ActivateMethod.doFindMethod(ActivateMethod.java:71)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.methods.BaseMethod.findMethod(BaseMethod.java:173)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$400(BaseMethod.java:41)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.methods.BaseMethod$NotResolved.resolve(BaseMethod.java:602)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.methods.BaseMethod$NotResolved.methodExists(BaseMethod.java:626)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.methods.BaseMethod.methodExists(BaseMethod.java:528)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:315)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:341)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:983)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:956)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:756)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:666)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:432)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:665)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:339)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:381)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.Activator.access$200(Activator.java:49)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:263)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:1)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:230)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:137)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:129)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:191)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.Module.start(Module.java:467)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.ModuleContainer.start(ModuleContainer.java:777)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:768)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:538)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:484)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.ModuleContainer.refresh(ModuleContainer.java:1028)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1409)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
2019-08-23 05:46:22.497 INFO &amp;amp;nbsp;[Refresh Thread: Equinox Container: c7c7ca74-d7dd-4711-a295-e2d485217997][BundleStartStopLogger:39] STARTED com.my.company.core.liferay.login-action_1.0.0 [1061]

&lt;/code&gt;&lt;/pre&gt;But the status in gogo shell is &lt;strong&gt;ACTIVE&lt;/strong&gt;... but when I try to do login it fails with other linkage exceptions&amp;nbsp;&lt;pre&gt;&lt;code&gt;23-Aug-2019 05:51:13.461 SEVERE [http-nio-18080-exec-4] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet [Main Servlet] threw exception
&amp;amp;nbsp;java.lang.LinkageError: loader constraint violation: when resolving method "com.liferay.portal.kernel.util.PortalUtil.getHttpServletRequest(Ljavax/portlet/PortletRequest;)Ljavax/servlet/http/HttpServletRequest;" the class loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) of the current class, com/my/company/core/liferay/actions/CustomLoginAction, and the class loader (instance of java/net/URLClassLoader) for the method's defining class, com/liferay/portal/kernel/util/PortalUtil, have different Class objects for the type javax/portlet/PortletRequest used in the signature
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.my.company.core.liferay.actions.CustomLoginAction.doProcessAction(CustomLoginAction.java:41)
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;at com.liferay.portal.kernel.portlet.bridges.mvc.BaseMVCActionCommand.processAction(BaseMVCActionCommand.java:61)

&lt;/code&gt;&lt;/pre&gt;Some idea about what is the error in my proposal???Thanks in advance!!&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Ramon Garcia</dc:creator>
    <dc:date>2019-08-23T05:54:45Z</dc:date>
  </entry>
</feed>
