2012-10-24 24 views
1

我嵌入網頁內容到部署到Liferay EE 6.1 GA 1自定義portlet使用:異常嵌入在一個自定義的Liferay門戶網站內容時

<liferay-ui:journal-article articleId="REMEMBER" groupId="<%=portletGroupId%>" /> 

此錯誤開始出現在日誌和網頁內容是不存在:

java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory 
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1509) 
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359) 
    at org.apache.jsp.html.taglib.ui.journal_005farticle.page_jsp._jspService(page_jsp.java from :410) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550) 
    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:116) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:71) 
    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:807) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:671) 
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:626) 
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:556) 
    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) 
    at org.apache.jsp.WEB_002dINF.jsp.askaquestion.askAQuestion_jsp._jspService(askAQuestion_jsp.java from :309) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550) 
    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:116) 

有關如何解決此問題的任何想法?

回答

0

有一件事似乎有所幫助。更新了WEB-INF/liferay-plugin-package.properties包含線路:

portal.dependency.jars=commons-logging.jar,commons-fileupload.jar

https://www.liferay.com/community/wiki/-/wiki/Main/Liferay+Developer+Cookbook

如果有任何jar文件中已經存在的門戶網站\ WEB -INF \ lib,你也想在你的插件中使用它們。 請勿重新包裝這些罐子,只需在 docroot\WEB-INF\liferay-plugin-package.properties中添加參考。

2

請參閱以下網址: http://www.liferay.com/community/wiki/-/wiki/Main/Liferay+UI+Taglib

軸頸文章參數:

articleId = uniqueID of content article 
groupId = group of user 
showTitle = show title of article true or false 
templateId = which of the defined templates for this journal article to use. Note that there is a bug (reported here) in liferay versions before 6.0.2 where templateId is ignored. 

例如: <的Liferay的UI:軸頸文章條款ArticleID = 「22745」 的groupId =」 <%= scopeGroupId%>「/>

+0

感謝您訪問wiki的鏈接。但是,它根本沒有解決ClassNotFoundException,這是真正的問題。一旦解決了這個問題,Web內容顯示就會使用我展示的標籤。 –

0

Smith, 我創建了cust om portlet並在jsp下面添加了一個web內容,代碼如下,plugin-package.properties中我添加了所有用於JSP頁面的tld文件,並且沒有在屬性文件中添加任何jar文件。

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %> 
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %> 
<portlet:defineObjects /> 
<liferay-theme:defineObjects/> 

<liferay-ui:journal-article articleId="11414" articleResourcePrimKey="11416" groupId="<%=themeDisplay.getScopeGroupId() %>" languageId="<%=themeDisplay.getLanguageId() %>" showAvailableLocales="<%=true %>" ></liferay-ui:journal-article> 

我已經使用了最新版本的Liferay 6.1.1 EE GA2的,但我已經驗證它在LR6.1 EE GA1它也工作正常那邊。

+0

感謝您的示例。我們不確定爲什麼它停止爲我們工作。我們已收到來自Liferay的其他問題的幾個熱修復,它可能是其中之一。在'liferay-plugin-package.properties'中做一些小改動似乎是正確的。儘管我從來沒有做過足夠的跟蹤,以確定journal_article.jsp使用哪個類取決於FileItemFactory。 –

相關問題