0

在我們當前的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 

回答

0

com/liferay/portal/util/PropsValues is part of portal-impl.jar file which is part of liferay portal and should be made available to our portlet.

這是不正確的特定標籤,portal-impl.jar是不適用於您的portlet,並不意味着。你不能把它放在你的WEB-INF/lib。這個jar只能用於Liferay(Liferay應用程序)。

你能展示你的(已部署的)portlet WEB-INF/lib的內容(jar的列表)嗎?

+0

感謝您的快速反應,這裏是罐子我在我的WEB-INF/lib目錄的列表。 –

+0

對不起,但我沒有看到列表。你能用它更新你的問題嗎? –

+0

抱歉有編輯問題,我花了一段時間來更新它。它現在上漲了。 –

2

我改變

/html/taglib/ui/search_paginator/page.jsp
/html/taglib/ui/search_iterator/page.jsp
/html/taglib/ui/page_iterator/start.jsp

,除去PropsValues的呼叫和通話用的com.liferay.portal.kernel.util.PropsUtilPropsKeys代替,並且去擺脫錯誤的,我代替他們。

我提出的改進要求 http://issues.liferay.com/browse/LPS-30660

相關問題