在我們當前的Glassfish 3.1羣集設置中,我們看到了這個問題。下面是問題 的細節 - 我們正在運行的Glassfish 3.1版Glassfish 3.1上的Liferay 6 - 在portlet jsp文件中使用liferay-ui標籤問題
- 我們正在運行的Liferay 6.0.6
- Liferay的戰爭部署在GlassFish集羣和工作在這兩個節點的罰款。
- 同樣的liferay戰爭也適用於Tomcat服務器。
- 當我們在GlassFish集羣上部署我們的定製Portlet時,它將在部署後立即開始工作。 (在重新啓動glassfish集羣之前)
- 一旦我們重新啓動集羣節點,相同的portlet應用程序將停止工作,併發出抱怨並給出附加錯誤。
- 我的研究到現在表明,java.lang.NoClassDefFoundError:COM/Liferay的/門戶/ UTIL/PropsValues是門戶impl.jar中文件的一部分,這是Liferay門戶的一部分,應提供給我們的portlet。不知何故,在重新啓動後,jar文件以不同的方式加載,同一個jar文件不可用於portlet。
- 我們也嘗試了Glassfish 3.1 Bundled liferay 6.1安裝程序,並且也看到了相同的問題。
- 正如liferay論壇所建議的,我們在[glassfish home]/lib目錄中放置了portal-service.jar和portlet.jar。
- 當我們在glassfish節點實例進程上執行lsof -p pid時,它顯示所需的jar文件是由此進程打開的。不知道爲什麼這不適用於我們的應用程序。
我希望得到任何幫助或指針,以解決/調查此問題。
java.lang.NoClassDefFoundError: com/liferay/portal/util/PropsValues
at org.apache.jsp.html.taglib.ui.search_005fiterator.page_jsp._jspService(page_jsp.java from :500)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72) at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217) at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:785)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:649)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:534) at com.liferay.taglib.util.IncludeTag.include(IncludeTag.java:323)
at com.liferay.taglib.util.IncludeTag._doInclude(IncludeTag.java:418)
at com.liferay.taglib.util.IncludeTag.doEndTag(IncludeTag.java:92)
這是我在liferay論壇上的一個相關帖子,但我沒有真正得到任何人的回覆。 [Same issue posted on liferay Forum]
我也嘗試將portal-impl.jar放入我的portlet/WEB-INF/lib目錄中(這不是我們推薦的方式),而且我失敗了,因爲它需要我將其他所有依賴的jar放入其中。
我現在運行的選項,並考慮使用一些其他的第三方庫實現分頁功能,而不是使用Liferay的標籤。
這是給我們提供了錯誤
<liferay-ui:search-iterator />
罐子名單在我的門戶WEB-INF/lib文件夾
SiebelClientWS-0.0.1-SNAPSHOT.jar spring-asm-3.0.5.RELEASE.jar XmlSchema-1.4.7.jar spring-aspects-3.0.5.RELEASE.jar aspectjrt-1.6.11.jar spring-beans-3.0.5.RELEASE.jar aspectjweaver-1.6.11.jar spring-context-3.0.5.RELEASE.jar axiom-api-1.2.11.jar spring-context-support-3.0.5.RELEASE.jar axiom-impl-1.2.11.jar spring-core-3.0.5.RELEASE.jar axis2-1.5.4.jar spring-expression-3.0.5.RELEASE.jar axis2-kernel-1.5.4.jar spring-jdbc-3.0.5.RELEASE.jar axis2-transport-http-1.5.4.jar spring-tx-3.0.5.RELEASE.jar axis2-transport-local-1.5.4.jar spring-web-3.0.5.RELEASE.jar c3p0-0.9.1.2.jar spring-webmvc-3.0.5.RELEASE.jar commons-codec-1.4.jar spring-webmvc-portlet-3.0.5.RELEASE.jar commons-httpclient-3.1.jar util-bridges.jar commons-logging.jar util-java.jar flexjson-2.1.jar util-taglib.jar httpcore-4.0.jar woden-api-1.0M9.jar httpcore-nio-4.0-beta1.jar woden-impl-commons-1.0M9.jar log4j.jar woden-impl-dom-1.0M9.jar neethi-2.0.2.jar wsdl4j-1.6.2.jar spring-aop-3.0.5.RELEASE.jar wss4j-1.6.2.jar
感謝您的快速反應,這裏是罐子我在我的WEB-INF/lib目錄的列表。 –
對不起,但我沒有看到列表。你能用它更新你的問題嗎? –
抱歉有編輯問題,我花了一段時間來更新它。它現在上漲了。 –