1

我将 Web 内容嵌入到部署到 Liferay EE 6.1 GA 1 的自定义 portlet 中,使用:

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

此错误开始显示在日志中,并且 Web 内容不存在:

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)

关于如何解决这个问题的任何想法?

4

3 回答 3

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:journal-article articleId="22745" groupId="<%=scopeGroupId%>" />

于 2012-10-25T05:55:02.307 回答
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

如果 portal\WEB-INF\lib 中已经存在任何 jar 文件,并且您还想在插件中使用它们。不要再次打包这些罐子,只需将引用添加到 docroot\WEB-INF\liferay-plugin-package.properties.

于 2012-10-24T17:36:17.030 回答
0

史密斯,我已经创建了自定义 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 对其进行了验证,它在那里也可以正常工作。

于 2012-10-26T06:16:24.887 回答