我有许多Portlet在热部署后可以正常工作,但在重新启动Liferay(自动部署)后无法工作。我能让它们重新工作的唯一方法是重建并进行另一次热部署。
我有3个不同的spring mvc portlet(org.springframework.web.portlet.DispatcherPortlet)。其中最简单的3个在重启时没有问题,而其他2个则不工作。所有三个都是从使用Eclipse LiferayIDE生成的基础项目创建的-
他们的web.xml,portlet.xml,liferay-portlet.xml,liferay-plugin-package.properties,portlet-application-context.xml和Spring/application-context.xml,PortletViewController.java,文件都是相同的,除了名称更改。
我最好的猜测是,这是某种类加载问题。
我比较了所有3个的依赖关系。
Working Fail1 Fail2
Dependency Version Scope Exclusions Version Scope Exclusions Version Scope Exclusions
org.springframework.spring-webmvc-portlet 4.1.9.RELEASE compile -- 4.1.9.RELEASE compile -- 4.1.9.RELEASE compile --
com.liferay.portal.com.liferay.portal.kernel 2.46.1 provided -- 2.46.1 provided -- 2.46.1 provided --
javax.portlet.portlet-api 3.0.0 provided -- 3.0.0 provided -- 3.0.0 provided --
javax.servlet.javax.servlet-api 3.1.0 provided -- 3.1.0 provided -- 3.1.0 provided --
org.osgi.org.osgi.service.component.annotations 1.3.0 provided -- 1.3.0 provided -- 1.3.0 provided --
org.slf4j.slf4j-log4j12 1.7.22 provided -- 1.7.22 provided -- 1.7.22 provided --
commons-lang.commons-lang -- -- -- 2.6 compile -- -- -- --
com.liferay.portal.com.liferay.util.taglib -- -- -- 2.8.0 compile -- 2.8.0 compile --
javax.servlet.javax.servlet.jsp-api -- -- -- 2.3.1 provided -- 2.3.1 provided --
oracle.ojdbc6 -- -- -- 11.2.0.3 provided -- 11.2.0.3 provided --
org.glassfish.web.jstl-impl -- -- -- 1.2 provided jsp-api,servlet-api 1.2 provided jsp-api,servlet-api
org.hibernate.hibernate-core -- -- -- 4.1.3.Final compile -- -- -- --
org.codehaus.jackson.jackson-mapper-asl -- -- -- -- 1.9.13 compile --
我怀疑问题在于两个失败的portlet之间的重叠依赖关系之一。
com.liferay.portal.com.liferay.util.taglib
javax.servlet.javax.servlet.jsp-api
oracle.ojdbc6
org.glassfish.web.jstl-impl
知道这些依赖关系是否会引发问题吗?
下面是生成的错误的堆栈跟踪。只有在我导航到使用portlet的页面之后,在初始自动部署期间才会出现错误。
15:15:29,583 ERROR [ajp-nio-8009-exec-6][DispatcherPortlet:573] Could not complete request
org.springframework.web.portlet.NoHandlerFoundException: No handler found for portlet request: mode 'view', phase 'RENDER_PHASE', parameters map[[empty]]
at org.springframework.web.portlet.DispatcherPortlet.noHandlerFound(DispatcherPortlet.java:1031)
at org.springframework.web.portlet.DispatcherPortlet.doRenderService(DispatcherPortlet.java:730)
at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:536)
at org.springframework.web.portlet.FrameworkPortlet.doDispatch(FrameworkPortlet.java:483)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:262)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:103)
at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at com.liferay.portal.osgi.web.wab.extender.internal.adapter.ServletExceptionAdapter.service(ServletExceptionAdapter.java:76)
at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
at org.eclipse.equinox.http.servlet.internal.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:50)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:119)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:99)
at com.liferay.portal.osgi.web.wab.extender.internal.adapter.FilterExceptionAdapter.doFilter(FilterExceptionAdapter.java:46)
at org.eclipse.equinox.http.servlet.internal.registration.FilterRegistration.doFilter(FilterRegistration.java:121)
at org.eclipse.equinox.http.servlet.internal.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:45)
at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:70)
at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:117)
at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:531)
at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:606)
at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:392)
at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.render(MonitoringInvokerPortlet.java:265)
at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1584)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at sun.reflect.GeneratedMethodAccessor671.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:286)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:283)
at java.security.AccessController.doPrivileged(Native Method)
.....
我剪短了跟踪以适应字符限制。
Liferay安装:Liferay 7 Tomcat捆绑包
在本例中,通过完全删除这些依赖项,问题似乎已得到解决:
com.liferay.portal.com.liferay.util.taglib
org.glassfish.web.jstl-impl
我一直在从Liferay 6.0.6移植这些Portlet,一开始没有额外的依赖项,并根据需要逐个添加它们,所以在某个时刻,我相信我需要它们。希望我没有。
我在linux box上启动xampp时面临以下问题。我能够启动mysql和proFPD,但我不能卫星apache。它显示另一个网络服务器已经在运行。 XAMPP:启动Apache失败。XAMPP:另一个web服务器已在运行。XAMPP:启动MySQL已经在运行。XAMPP:启动ProFTPD已在运行。
我的android应用程序没有正确构建和部署。当启动一个新实例时,它会将我的应用程序启动到我的物理移动设备上,并且我能够在Visual Studio中进行调试。但现在它不会将应用程序启动到移动设备,而且当我手动运行应用程序时,它也不会在Visual Studio中调试。这个项目有可移植的类,并且正在使用Xamarin.Forms。 我确实更改了对AndroidManifest.xml的构建操作。
我们有一个Java应用程序,它使用Quartz来调度作业。我们使用的quartz版本是Quartz-2.2.1。quartz配置使用JDBC作业存储。 以下是系统中发生的事件序列: null 我的问题是,当quartz调度器启动时,数据库已经启动--那么为什么它会抱怨连接已经关闭?我知道它在内部使用c3p0连接池,应用程序在签出时不验证连接。c3p0连接池是否关闭quartz调度程序正在使用的连接
服务器重启后无法启动Apache HTTPD。我们 /etc/httpd/conf/拥有功能。用户/组。因此,我们使用脚本来启动httpd.conf每次服务器重启时,我们都无法启动HTTPD。我们发现 /var/run/httpd在重启后被更改为apache/root。因此,脚本无法启动功能下的HTTPD。用户/组。 请帮帮我!!!
我编写了一个类,其中有一个函数通过接受多个输入,但是运行结果证明它只接受第二个参数,就像接受第一个参数一样,下面是一个简化的代码: 并且输出,丢失: 到底是什么问题?我该怎么解决这个问题?
问题内容: 我的日食没有启动,因为我的计算机有点死机了,所以我不得不强制重新启动它。当我不得不重新启动时,Eclipse是打开的,我相信这很可能是原因。我不知道该如何解决。每当我尝试打开它时,它都会告诉我检查工作区中的.log文件,并显示: http://paste.strictfp.com/26579 而且我不知道如何解决它。请帮忙? 问题答案: 您缺少 第125行的 类,您必须重新安装才能解决