Liferay 7.2 - Spring MVC Porltlet: java .lang.ClassCastException: класс com.liferay.portletmvc4spring.ViewRendererServlet Проблема при развертывании - PullRequest
0 голосов
/ 25 февраля 2020

Я реализовал модуль Liferay 7.2 portletmvc4spring, я следовал этому руководству https://github.com/liferay/portletmvc4spring/blob/master/README.md, но у меня возникла проблема при развертывании этого портлета в экземпляре Lr7.2 (я искал в Google, но не нашел конкретное решение) может быть, кто-то имел такую ​​же проблему в прошлом и мог бы помочь, может быть ...

Проблема заключается в следующем:

2020-01-06 20:36: 43.468 ОШИБКА [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [WebXMLDefinitionLoader: 1130] baseLr7Portlet_1.0.0 [1148] una java .lang.ClassCastException: класс com.liferay .portletmvc4spring.ViewRendererServlet

java .lang.ClassCastException: com.liferay.portletmvc4spring.DispatcherPortlet нельзя преобразовать в javax.portlet.Portlet

Полная трассировка следующая:

2020-01-06 20: 36: 13.337 ИНФОРМАЦИЯ [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [BaseAutoDeployListener: 43] Копирование портлеты для /usr/share/peLr7Portlet.war 2020-01-0 6 20: 36: 13.378 INFO [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [BaseDeployer: 877] Развертывание baseLr7Portlet.war Предупреждение: META-INF / MANIFEST.MF изменено в будущем. Предупреждение: META-INF / maven / com.company.portail / baseLr7Portlet / pom.properties будут изменены в будущем. Предупреждение: META-INF / maven / com.company.portail / baseLr7Portlet / pom. xml будет изменен в будущем. Предупреждение: WEB-INF / classes / ValidationMessages.properties изменен в будущем. Предупреждение: WEB-INF / classes / com / company / portail / demo / Applicant / ApplicantPortlet.class будет изменен в будущем. Предупреждение: WEB-INF / classes / com / company / portail / demo / configuration / ContactConfiguration.class будет изменен в будущем. Предупреждение: WEB-INF / classes / com / company / portail / demo / configuration / ContactLanguage.class будет изменен в будущем. Предупреждение: WEB-INF / classes / com / company / portail / demo / controller / DemandeContactController.class будет изменен в будущем. Предупреждение: WEB-INF / classes / content / language.properties будет изменен в будущем.
Предупреждение: WEB-INF / classes / log4j.properties будет изменен в будущем.
Предупреждение: WEB-INF / lib / Pportlet- api-3.0.0.jar будет изменен в будущем.
Предупреждение: WEB-INF / lib / api-model-3.6.4.jar будет изменен в будущем.
Предупреждение: WEB-INF / lib / cdi- api-1.2.jar будет изменен в будущем.
Предупреждение: WEB-INF / lib / com.liferay.portletmvc4spring.framework-5.2.0.jar будет изменен в будущем. Предупреждение: WEB-INF / lib / com.liferay.portletmvc4spring.security-5.2.0.jar будет изменен в будущем. Предупреждение: WEB-INF / lib / javax.el-api-3.0.0.jar будет изменен в будущем. Предупреждение: WEB-INF / lib / javax.interceptor-api-1.2.jar будет изменен в будущем. Предупреждение: WEB-INF / lib / portail-common-3.6.4.jar будет изменен в будущем.
Предупреждение: WEB-INF / lib / portlet-servlet-adapter-3.1.0.jar будет изменен в будущем. Предупреждение: WEB-INF / liferay-plugin-package.properties изменен в будущем. Предупреждение: WEB-INF / spring-context / portlet-application-context. xml изменено в будущем. Предупреждение: WEB-INF / spring-context / portlet / portlet1-context. xml изменен в будущем. Предупреждение: WEB-INF / classes / com изменен в будущем. Предупреждение: WEB-INF / classes / com / company изменена в будущем. Предупреждение: WEB-INF / classes / com / company / portail / demo / конфигурация будет изменена в будущем. Предупреждение: WEB-INF / spring-context изменен в будущем. Предупреждение: изображения изменены в будущем. 2020-01-06 20: 36: 14.440 INFO [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [BaseAutoDeployListener: 50] Портлеты для / usr / share / portail / llet .war успешно скопирован 2020-01-06 20: 36: 43.468 ОШИБКА [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [WebXMLDefinitionLoader: 1130] baseLr7Portlet_1.0.0 [1148] una java .lang.ClassCastException: класс com.liferay.portletmvc4spring.ViewRendererServlet в java .lang.Class.asSubclass (Class. java: 3404) в com. liferay.portal.osgi.web.servlet.context.helper.internal.definition.WebXMLDefinitionLoader._getServletInstance (WebXMLDefinitionLoader. java: 1124 в com.liferay.portal.osgi.web.servlet.context.helper.ternal. WebXMLDefinitionLoader._setServlet (WebXMLDefinitionLoader. java: 1164) по адресу com.liferay.portal.osgi.web.servlet.context.helper.internal.definition.WebXMLDefinitionLoader.endElement (WebXMLDefinition * 80 * .40). org. apache .xerces.internal.parsers.AbstractSAXParser.endElement (AbstractSAXParser. java: 609) на com.sun.org. apache .xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndEmentment .ScanEndEmentment. : 1782) на com.sun.org. apache .xerces.internal.impl.XMLDocumentFragmentScannerImpl $ FragmentContentDriver.next (XMLDocumentFragmentScannerImpl. java: 2967) на com.sun.org. apache .xerces.internal.impl .XMLDocumentScannerImpl.next (XMLDocumentScannerImpl. java: 602) на com.sun.org. apache .xerces.internal.impl.XMLDocumentFragmentScannerImpl.scan Документ (XMLDocumentFragmentScannerImpl. java: 505) на com.sun.org. apache .xerces.internal.parsers.XML11Configuration.parse (XML11Configuration. java: 841) на com.sun.org. apache. xerces.internal.parsers.XML11Configuration.parse (XML11Configuration. java: 770) на com.sun.org. apache .xerces.internal.parsers.XMLParser.parse (XMLParser. java: 141) на ком. sun.org. apache .xerces.internal.parsers.AbstractSAXParser.parse (AbstractSAXParser. java: 1213) на com.sun.org. apache .xerces.internal.jaxp.SAXParserImpl $ JAXPSAXParser.parse (SA . java: 643) на com.liferay.portal.osgi.web.servlet.context.helper.internal.definition.WebXMLDefinitionLoader.loadWebXMLDefinition (WebXMLDefinitionLoader. java: 520 на com.liferay.portal.osgi.web. servlet.context.helper.internal.definition.WebXMLDefinitionLoader.loadWeb XML (WebXMLDefinitionLoader. java: 456) по адресу com.liferay.portal.osgi.web.servlet.context.helper.internal.ServletContextHelperReg. 1064 *: на com.lifer ay.portal.osgi.web. osgi.internal.serviceregistry.ServiceFactoryUse $ 1.run (ServiceFactoryUse. java: 212) в java .security.AccessController.doPrivileged (собственный метод) в org.eclipse.osgi.internal.serviceregistry.ServiceFactoryFactoryUse.sese. java: 210) в org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService (ServiceFactoryUse. java: 111) в org.eclipse.osgi.internal.serviceregistry.ServiceConsumer $ 2.get *ervice (ServiceConsumer * 1069). : 45) в org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService (ServiceRegistrationImpl. java: 524) в org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService (ServiceRegistry. java 46) * org.eclipse.os gi.internal.framework.BundleContextImpl.getService (BundleContextImpl. java: 624) по адресу com.liferay.portal.osgi.web.wab.extender.internal.WabBundleProcessor.initContext (WabBundleProcessor. java 45). liferay.portal.osgi.web.wab.extender.internal.WabBundleProcessor.init (WabBundleProcessor. java: 136) по адресу com.liferay.portal.osgi.web.wab.extender.internal.WebBundleDeployer._initWabBundle. Web ( 1075 *: 179) на com.liferay.portal.osgi.web.wab.extender.internal.WebBundleDeployer.doStart (WebBundleDeployer. java: 101) на com.liferay.portal.osgi.web.wab.extender.internal .WabFactory $ WABExtension.start (WabFactory. java: 114) на com.liferay.portal.osgi.web.wab.extender.internal. WabFactory.addingBundle (WabFactory. java: 67) на com.liferay.portal.osgi.web.wab.extender.internal.WabFactory.addingBundle (WabFactory. java: 49) на org.osgi.util.tracker. BundleTracker $ Tracked.customizerAdding (BundleTracker. java: 475) в org.osgi.util.tracker.BundleTracker $ Tracked.customizerAdding (BundleTracker. java: 1) в org.osgi.util.tracker.AbstractTracked.trackAdding ( AbstractTracked. java: 256) в org.osgi.util.tracker.AbstractTracked.track (AbstractTracked. java: 229) в org.osgi.util.tracker.BundleTracker $ Tracked.bundleChanged (BundleTracker. java: 450) по адресу org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent (BundleContextImpl. java: 908) по адресу org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent (EventManager: 230 или 1086) в 1086 или более поздних версиях: 1086 или 1086). .eclipse.osgi.framework.eventmgr.ListenerQueue. .osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent (EquinoxEventPublisher. java: 137) в org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent (EquinoxEventPublisher * 129.ing. .framework.EquinoxContainerAdaptor.publishModuleEvent (EquinoxContainerAdaptor. java: 191) в org.eclipse.osgi.container.Module.publishEvent (Module. java: 476) в org.eclipse.osgi.condoSt.osgi.o . java: 578) в org.eclipse.osgi.container.Module.start (Модуль. java: 449) в org.eclipse.osgi.internal.framework.EquinoxBundle.start (EquinoxBundle. java: 428 ) в org. apache .felix.fileinstall.internal.DirectoryWatcher.startBundle (DirectoryWatcher. java: 1264) в org. apache .felix.fileinstall.internal.DirectoryWatcher.startBundles (DirectoryWatcher. java: 1237 ) в org. apache .felix.fileinstall.internal.DirectoryWatcher.doProcess (DirectoryWatcher. java: 520) в org. apache .felix.fileinstall.internal.DirectoryWatcher.process (DirectoryWatcher. java: 365) в орг. apache .felix.fileinstall.internal.DirectoryWatcher.run (DirectoryWatcher. java: 316) 2020-01-06 20: 43: 26.926 ОШИБКА [fileinstall- / usr / share / portail / liferay- portal-7.2.0-ga1 / osgi / war] [PortletLocalServiceImpl: 2567] Сопоставление фильтров с именем фильтра SpringSecurityPortletFilter ссылается на неизвестное имя портлета baseLr7Portlet 2020-01-06 20: 43: 26.946 WARN [fileinstall- / usr / share / portail / liferay -portal-7.2.0-ga1 / osgi / war] [PortletLocalServiceImpl: 876] Портлет с именем springDisptachar_WAR_baseLr7Portlet описан в портлете. xml, но не имеет соответствующей записи в портлете liferay. xml 2020-01- 06 20: 43: 26.946 WARN [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [PortletLocalServiceImpl: 888] Портлет с именем baseLr7Portlet_WAR_baseLr7Портлет описан в liferay-портлете. xml но нет соответствующей записи в портлете. xml 2020-01-06 20: 43: 26.954 ОШИБКА [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [ PortletLocalServiceImpl: 9 30] java .lang.ClassCastException: com.liferay.portletmvc4spring.DispatcherPortlet не может быть приведен к javax.portlet.Portlet java .lang.ClassCastException: com.liferay.portletmvc4spring.DispatcherPortlet не может быть приведен к javax. в com.liferay.portlet.PortletBagFactory._getPortletInstance (PortletBagFactory. java: 295) в com.liferay.portlet.PortletBagFactory.create (PortletBagFactory. java: 106) в com.liferay.portal.service.mplSerI .initWAR (PortletLocalServiceImpl. java: 918) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62): DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl. java: 43) в java .lang.reflect.Method.invoke (Метод. java: 498) в com.liferay.portal.spring.aop.AopMethodInvoccemp. java: 50) на com.liferay.portal.spring.aop.AopInvocationHandler.invoke (AopInvocationHandler. java: 49) на com.sun.proxy. $ Proxy138.initWAR (неизвестный источник) на com.liferay.portal .kernel.service. .PortletHotDeployListener.invokeDeploy (PortletHotDeployListener. java: 96) по адресу com.liferay.portal.deploy.hot.HotDeployImpl.doFireDeployEvent (HotDeployImpl. java: 232) по адресу com.liferayDepI. (HotDeployImpl. java: 97) на com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent (HotDeployUtil. java: 27) на com.liferay.portal.kernel .servlet.PluginContextListener.fireDeployEvent (PluginContextListener. java: 189) по адресу com.liferay.portal.kernel.servlet.PluginContextListener.doPortalInit (PluginContextListener. java: 179) по адресу com.liferay.user.cycle. .portalInit (BasePortalLifecycle. java: 44) в com.liferay.portal.kernel.util.PortalLifecycleUtil.register (PortalLifecycleUtil. java: 75) в com.liferay.portal.kernel.util.PortalLifecycleUtil.register (PortalLifecycleUtil . java: 57) в com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle (BasePortalLifecycle. java: 54) в com.liferay.portal.kernel.servlet.PluginContextListener.contextInitialized * (PluginContextListener). 141 . java: 119) на com.liferay .portal.osgi.web.wab.extender.internal.adapter.ServletContextListenerExceptionAdapter.contextInitialized (ServletContextListenerExceptionAdapter. java: 99) в sun.reflect.GeneratedMec java: 43) в java .lang.reflect.Method.invoke (Метод. java: 498) в org.eclipse.equinox.http.servlet.internal.registration.ListenerRegistration $ EventListenerInvocationHandler.invoke (ListenerRegistration. java: 143) в com.sun.proxy. $ Proxy932.contextInitialized (неизвестный источник) в org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddListenerRegistration (ContextController. java: 350) в или .eclipse.equinox.http.servlet.internal.context.ContextController.addListenerRegistration (ContextController. java: 303) в org.eclipse.equinox.http.servlet.internal.customizer. 67) в org.eclipse.equinox .http.servlet.internal.customizer.ContextListenerTrackerCustomizer.addingService (ContextListenerTrackerCustomizer. java: 1) в org.osgi.util.tracker.ServiceTracker $ Tracked.customizerAdding (ServiceTracker. java: 943) в org.os.u. .tracker.ServiceTracker $ Tracked.customizerAdding (ServiceTracker. java: 1) в org.osgi.util.tracker.AbstractTracked.trackAdding (AbstractTracked. java: 256) в org.osgi.util.tracker.AbstractTracked.track (AbstractTracked. java: 229) в org.osgi.util.tracker.ServiceTracker $ Tracked.serviceChanged (ServiceTracker. java: 903) в org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener. serviceChanged (FilteredServiceListener. java: 109) по адресу org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged (ServiceRegistry. java: 891) по адресу org.eclipse.osgi.internal.serviceRegistryServiceServiceSistry. java: 804) в org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register (ServiceRegistrationImpl. java: 127) в org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService (ServiceRegistry: *54. * 11 228) по адресу org.eclipse.osgi.internal.framework.BundleContextImpl.registerService (BundleContextImpl. java: 469) по адресу org.eclipse.osgi.internal.framework.BundleContextImpl.registerService * (BundleContext) * 11mp: atgItg: atg. .eclipse.osgi.internal.framework.BundleContextImpl.registerService (BundleContextImpl. java: 1004) по адресу com.liferay.portal.osgi.web.wab.extender.internal.WabBundleProcessor.init *istensen (WabBundle) *: WabBundleProcess: на com.liferay.portal.osgi.web.wab.extender.internal.WabBundleProcessor.ini t (WabBundleProcessor. java: 216) на com.liferay.portal.osgi.web.wab.extender.internal.WebBundleDeployer._initWabBundle (WebBundleDeployer. java: 179) на com.liferay.portal.osgi.web. wab.extender.internal.WebBundleDeployer.doStart (WebBundleDeployer. java: 101) по адресу com.liferay.portal.osgi.web.wab.extender.internal.WabFactory $ WABExtension.start (WabFactory. java: 114) по адресу com.liferay.portal.osgi.web.wab.extender.internal.WabFactory.addingBundle (WabFactory. java: 67) на com.liferay.portal.osgi.web.wab.extender.internal.WabFactory.addingBundle (WabFactory . java: 49) в org.osgi.util.tracker.BundleTracker $ Tracked.customizerAdding (BundleTracker. java: 475) в org.osgi.util.tracker.BundleTracker $ Tracked.customizerAdding (BundleTracker. java : 1) в org.osgi.util.tracker.AbstractTracked.trackAdding (AbstractTracked. java: 256) в org.osgi.util.tracker.AbstractTracked.track (AbstractTracked. java: 229) в org.osgi. util.tracker.BundleTracker $ Tracked.bundleChanged (BundleTracker. java: 450) в org.eclipse.os gi.internal.framework.BundleContextImpl.dispatchEvent (BundleContextImpl. java: 908) в org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent (EventManager. java: 230) в org.meme.rame.ecl. eventmgr.ListenerQueue. publishBundleEvent (EquinoxEventPublisher. java: 137) по адресу org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent (EquinoxEventPublisher. java: 129) по адресу org.eclipse.osgicontainerE java: 191) в org.eclipse.osgi.container.Module.publishEvent (Модуль. java: 476) в org.eclipse.osgi.container.Module.doStart (Модуль. java: 578) в org .eclipse.osgi.container.Module.start (Модуль. java: 449) по адресу org.eclipse.osgi.internal.framework.EquinoxBundle.sta rt (EquinoxBundle. java: 428) в орг. apache .felix.fileinstall.internal.DirectoryWatcher.startBundle (DirectoryWatcher. java: 1264) в орг. apache .felix.fileinstall.internal.DirectoryWatcher. startBundles (DirectoryWatcher. java: 1237) в org. apache .felix.fileinstall.internal.DirectoryWatcher.doProcess (DirectoryWatcher. java: 520) в org. apache .felix.fileinstall.internal.DirectoryWatcher. process (DirectoryWatcher. java: 365) в орг. apache .felix.fileinstall.internal.DirectoryWatcher.run (DirectoryWatcher. java: 316) 2020-01-06 20: 43: 27.023 INFO [fileinstall- / USR / доли / Portail / Liferay-портал-7.2.0-GA1 / OSGi / война] [PortletHotDeployListener: 310] 0 портлетов для baseLr7Портлет доступен для использования 2020-01-06 20: 43: 27.512 ОШИБКА [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [WabBundleProcessor: 229] Catastrophi c ошибка инициализации! Выключение baseLr7Portlet WAB из-за: null java .lang.reflect.UndeclaredThrowableException в com.sun.proxy. $ Proxy935.registerServlets (неизвестный источник) в com.liferay.portal.osgi.web.wab.extender.internal.WabBundleProcess .init (WabBundleProcessor. java: 222) на com.liferay.portal.osgi.web.wab.extender.internal.WebBundleDeployer._initWabBundle (WebBundleDeployer. java: 179) на com.liferay.portal.osgi.b .wab.extender.internal.WebBundleDeployer.doStart (WebBundleDeployer. java: 101) в com.liferay.portal.osgi.web.wab.extender.internal.WabFactory $ WABExtension.start (WabFactory. java: 114) в com.liferay.portal.osgi.web.wab.extender.internal.WabFactory.addingBundle (WabFactory. java: 67) в com.liferay.portal.osgi.web.wab.extender.internal.WabFactory.addingBundle ( WabFactory. java: 49) в org.osgi.util.tracker.BundleTracker $ Tracked.customizerAdding (BundleTracker. java: 475) в org.osgi.util.tracker.BundleTracker $ Tracked.customizerAdding (BundleTracker. java: 1) на org.osgi.util.tracker.Abstr actTracked.trackAdding (AbstractTracked. java: 256) в org.osgi.util.tracker.AbstractTracked.track (AbstractTracked. java: 229) в org.osgi.util.tracker.BundleTracker $ Tracked.bundleChanged (BundleTracker. java: 450) в org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent (BundleContextImpl. java: 908) в org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent (EventManager * 120an5). 230) в org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous (ListenerQueue. java: 148) в org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPlayer: .eclipse.osgi. .internal.framework.EquinoxContainerAdaptor.publishModuleEvent (EquinoxContainerAdaptor. java: 191) в org.eclipse.osgi.c ontainer.Module.publishEvent (Модуль. java: 476) в org.eclipse.osgi.container.Module.doStart (Модуль. java: 578) в org.eclipse.osgi.container.Module.start (Модуль. java: 449) в org.eclipse.osgi.internal.framework.EquinoxBundle.start (EquinoxBundle. java: 428) в org. apache .felix.fileinstall.internal.DirectoryWatcher.startBundle (DirectoryWatcher. java: 1264) в орг. apache .felix.fileinstall.internal.DirectoryWatcher.startBundles (DirectoryWatcher. java: 1237) в орг. apache .felix.fileinstall.internal.DirectoryWatcher.doProcess (DirectoryWatcher. java: 520) в орг. apache .felix.fileinstall.internal.DirectoryWatcher.process (DirectoryWatcher. java: 365) в орг. apache .felix.fileinstall.internal.DirectoryWatcher.run (DirectoryWatcher. java: 316) Вызывается: java .lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpfl. DelegatingMethodAccessorImpl.invoke (Del egatingMethodAccessorImpl. java: 43) в java .lang.reflect.Method.invoke (Method. java: 498) в com.liferay.portal.osgi.web.wab.extender.internal.adapter.ModifiableServletContextAdapter. invoke (ModifiableServletContextAdapter. java: 447) ... еще 28 причин: java .lang.NullPointerException в com.liferay.portal.osgi.web.wab.extender.internal.adapter.ModifiableServletContextAdapter. addServlet (ModifiableServletContextAdapter. java: 233) по адресу com.liferay.portal.osgi.web.wab.extender.internal.adapter.ModifiableServletContextAdapter.registerServlets (МодифицируемыйServletContextAdapter. 58 ... * 33–33 ...) 3333 ... * 3333 06 20: 43: 27.549 ИНФОРМАЦИЯ [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [PortletHotDeployListener: 408] 0 портлетов для baseLr7Портлет был незарегистрирован 2020-01-06 20:43 : 27.788 ИНФОРМАЦИЯ [fileinstall- / usr / share / portail / liferay-portal-7.2.0-ga1 / osgi / war] [BundleStartStopLogger: 39] STARTED baseLr7Portlet_1.0.0 [1148]

Это мой портлет. xml файл:

<?xml version="1.0"?>

<portlet-app xmlns="http://xmlns.jcp.org/xml/ns/portlet"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/portlet http://xmlns.jcp.org/xml/ns/portlet/portlet-app_3_0.xsd"
    version="3.0">
    <portlet>
        <portlet-name>springDisptachar</portlet-name>
        <portlet-class>com.liferay.portletmvc4spring.DispatcherPortlet</portlet-class>
        <init-param>
            <name>contextConfigLocation</name>
            <value>/WEB-INF/spring-context/portlet/portlet1-context.xml</value>
        </init-param>
        <expiration-cache>0</expiration-cache>
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>view</portlet-mode>
            <portlet-mode>edit</portlet-mode>
            <portlet-mode>help</portlet-mode>
        </supports>
        <resource-bundle>content.language</resource-bundle>
        <portlet-preferences>
            <preference>
                <name>datePattern</name>
                <value>MM/dd/yyyy</value>
            </preference>
            <preference>
                <name>recipientEmailAddress</name>
                <value>email@test.fr</value>
            </preference>
        </portlet-preferences>
        <security-role-ref>
            <role-name>administrator</role-name>
        </security-role-ref>
        <security-role-ref>
            <role-name>guest</role-name>
        </security-role-ref>
        <security-role-ref>
            <role-name>power-user</role-name>
        </security-role-ref>
        <security-role-ref>
            <role-name>user</role-name>
        </security-role-ref>
    </portlet>


    <filter>
        <filter-name>SpringSecurityPortletFilter</filter-name>
        <filter-class>com.liferay.portletmvc4spring.security.SpringSecurityPortletFilter</filter-class>
        <lifecycle>ACTION_PHASE</lifecycle>
        <lifecycle>RENDER_PHASE</lifecycle>
        <lifecycle>RESOURCE_PHASE</lifecycle>
    </filter>
    <filter-mapping>
        <filter-name>SpringSecurityPortletFilter</filter-name>
        <portlet-name>baseLr7Portlet</portlet-name>
    </filter-mapping>
</portlet-app>

Любой совет приветствуется. Большое спасибо ... С уважением

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Для решения подобных проблем я считаю полезным начать с минимального проекта портлета, который развертывается и работает правильно. Например, я рекомендую начать с создания проекта PortletMVC4Spring JSP из архетипа:

mvn archetype:generate \
    -DarchetypeGroupId=com.liferay.portletmvc4spring.archetype \
    -DarchetypeArtifactId=com.liferay.portletmvc4spring.archetype.form.jsp.portlet \
    -DarchetypeVersion=5.2.0 \
    -DgroupId=com.mycompany \
    -DartifactId=com.mycompany.my.form.jsp.portlet

Затем постепенно добавляйте зависимости и / или функции по одному, повторное развертывание после каждое изменение, пока не возникнет проблема.

Одна вещь, которую я заметил, состоит в том, что WAR вашего портлета содержит некоторые зависимости в WEB-INF / lib, которых, вероятно, там быть не должно. Например:

  • WEB-INF / lib / cdi-api-1.2.jar
  • WEB-INF / lib / javax.el-api-3.0.0.jar
  • WEB-INF / lib / javax.interceptor-api-1.2.jar

Jar API CDI особенно важен, поскольку CDI и Spring почти всегда взаимоисключающие.

0 голосов
/ 26 февраля 2020

Эта ошибка возникает в разных ситуациях. Одним из возможных случаев является наличие нескольких файлов *.jar, реализующих интерфейс Portlet.java. Когда я столкнулся с этой проблемой, я удалил все развернутые плагины со своего сервера приложений (webapps из Tomcat в моей системе) и пересмотрел liferay-plugin-package.properties, поэтому я оставил только те jar в portal.dependency.jars, которые были необходимы, и удалил другие. Затем я снова развернул плагин, и проблема была решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...