MMBase and Liferay

8 views
Skip to first unread message

Robin Vanspauwen

unread,
Nov 26, 2010, 3:24:18 AM11/26/10
to mmbase-discuss
Hello,

Some people at the Open University want to work with Liferay (possible
substitute for Microsoft Sharepoint) but I keep having problems
installing or configuring Liferay and MMBase applications on one
Tomcat server. When I deploy Liferay on a Tomcat server with existing
MMBase webapps, the MMBase webapps die and Liferay works… For Liferay
to work I have to copy three JAR’s in the lib directory of Tomcat;
jta.jar (from oracle/sun), portal-service.jar (from liferay) and
portlet.jar (from liferay).

I get this error for example:

Misc. properties
----------
method: GET
querystring:
requesturl: http://test.rdmc.ou.nl/lerendeschool/mmbase/errorpages/500.jsp
mmbase version: MMBase-1_9_4_Final 2010-07-29T16:58 (r43018)
status: 500

Parameters
----------

Exception Thu Nov 25 16:08:08 CET 2010
----------

java.lang.NullPointerException:

java.lang.NullPointerException: null
at java.io.Reader.<init>(Unknown Source)
at java.io.BufferedReader.<init>(Unknown Source)
at java.io.BufferedReader.<init>(Unknown Source)
at
org.mmbase.util.transformers.BufferedReaderTransformer.transform(BufferedReaderTransformer.java:
32)
at
org.mmbase.bridge.jsp.taglib.ContentTag.doAfterBody(ContentTag.java:
697)
at org.apache.jsp.app.index_jsp._jspService(index_jsp.java:
1688)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
803)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
374)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
337)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.mmbase.framework.FrameworkFilter.doFilter(FrameworkFilter.java:
197)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
286)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:
856)
at org.apache.coyote.http11.Http11AprProtocol
$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint
$Worker.run(AprEndpoint.java:1509)
at java.lang.Thread.run(Unknown Source)
not mailed (javax.naming.NameNotFoundException: Name mmbase_errorpage
is not bound in this Context)

Anyone any idea? Thanks in advance!

Robin

Michiel Meeuwissen

unread,
Nov 26, 2010, 4:33:54 AM11/26/10
to mmbase-...@googlegroups.com
2010/11/26 Robin Vanspauwen <robinva...@gmail.com>:

> MMBase webapps, the MMBase webapps die and Liferay works… For Liferay
> to work I have to copy three JAR’s in the lib directory of Tomcat;
> jta.jar (from oracle/sun), portal-service.jar (from liferay) and
> portlet.jar (from liferay).

Can you send me these jars? Then I'll give it a try too.


Michiel

--
mihxil'  http://meeuw.org
nl_NL eo_XX en_US

Robin Vanspauwen

unread,
Nov 26, 2010, 4:48:21 AM11/26/10
to mmbase-...@googlegroups.com
Hi Michiel,

MMBase will start if you copy these three JAR's to the lib dir of Apache
Tomcat. But when I copy the liferay webapp into the webapps dir of Apache
Tomcat, the other MMBase applications die...

Greets,

Robin



--
You received this message because you are subscribed to the Google Groups "mmbase-discuss" group.
To post to this group, send email to mmbase-...@googlegroups.com.
To unsubscribe from this group, send email to mmbase-discus...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/mmbase-discuss?hl=en.


Jacobjob Koster

unread,
Nov 26, 2010, 4:52:15 AM11/26/10
to mmbase-...@googlegroups.com
Probably it is a better idea to package your application, MMBase-jars and more extra jars into a decent WAR-file, and copy it to the 'deploy' folder of Liferay. It will auto-redeploy it when running, and current Liferay libraries are used too. Otherwise you might also get class loading problems.

Jacobjob

Michiel Meeuwissen

unread,
Nov 26, 2010, 6:40:47 AM11/26/10
to mmbase-...@googlegroups.com
2010/11/26 Robin Vanspauwen <robinva...@gmail.com>:

> MMBase will start if you copy these three JAR's to the lib dir of Apache
> Tomcat. But when I copy the liferay webapp into the webapps dir of Apache
> Tomcat, the other MMBase applications die...

So, in that case I can't actually reproduce it without also having
such a liferay webapp. That makes it a bit more difficult.

Well, the exception suggest that BodyContext#getReader()
(http://download.oracle.com/javaee/1.2.1/api/javax/servlet/jsp/tagext/BodyContent.html#getReader())
returned null. I have no idea what kind of sense that makes. Javadoc
does not suggest that this should be possible at all.

Could you give the simplest Jsp that would give the exception. E.g.
<mm:content postprocessor="none">
foo
</mm:content>
or
<mm:content postprocessor="text/html">
foo
</mm:content>
or
<mm:content postprocessor="text/html" />

or would they all do it?

Anyhow. Simplest would be to add a check on 'null' there. Perhaps
getString would not return null in those cases?

Robin Vanspauwen

unread,
Nov 26, 2010, 8:43:52 AM11/26/10
to mmbase-discuss
@Jacobjob

When I package my MMBase application into a WAR file using 'jar -cvf
application_name.war *' and deploy it in the deploy directory of
Liferay (automatically trough Liferay), I get the following error when
I want to open a:

SEVERE: Exception Processing
ErrorPage[exceptionType=java.lang.Exception, location=/mmbase/
errorpages/500.jsp]
org.apache.jasper.JasperException: The absolute uri:
http://www.mmbase.org/mmbase-taglib-2.0 cannot be resolved in either
web.xml or the jar files deployed with this application
at
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:
51)
at
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:
409)
at
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:
116)
at
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:
315)
at
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:
148)
at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:
386)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:449)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1396)
at org.apache.jasper.compiler.Parser.parse(Parser.java:130)
at
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:
255)
at
org.apache.jasper.compiler.ParserController.parse(ParserController.java:
103)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:
185)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:347)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
at
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:
592)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
317)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:
646)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:
438)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:
374)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:
302)
at
org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:
421)
at
org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:
270)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
141)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
298)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:
861)
at org.apache.coyote.http11.Http11AprProtocol
$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:
1584)
at java.lang.Thread.run(Thread.java:619)

I start this jsp with the following code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/
TR/xhtml11/DTD/xhtml11.dtd">
<%@page language="java" contentType="text/html;charset=utf-8"
session="true"
%><%@ taglib prefix="mm" uri="http://www.mmbase.org/mmbase-taglib-2.0"
%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"
%><%@ page import="java.util.*" %>



@Michiel

When I start the Apache Tomcat server with MMBase apps and a Liferay
app, I can view the basic admin environment of MMBase. I can see the
application_name/mmbase/ page. But when I want to open the my_editors
I get the same error as before.


Misc. properties
----------
method: GET
querystring:
requesturl: http://localhost:8080/lerendeschool/mmbase/errorpages/500.jsp
mmbase version: MMBase-1_9_4_Final 2010-07-29T16:58 (r43018)
status: 500

Parameters
----------

Exception Fri Nov 26 14:41:33 CET 2010
----------

java.lang.NullPointerException:

java.lang.NullPointerException: null
at java.io.Reader.&lt;init&gt;(Reader.java:61)
at java.io.BufferedReader.&lt;init&gt;(BufferedReader.java:76)
at java.io.BufferedReader.&lt;init&gt;(BufferedReader.java:91)
at
org.mmbase.util.transformers.BufferedReaderTransformer.transform(BufferedReaderTransformer.java:
32)
at
org.mmbase.bridge.jsp.taglib.ContentTag.doAfterBody(ContentTag.java:
697)
at org.apache.jsp.app.index_jsp._jspService(index_jsp.java:
1164)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
717)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
377)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
313)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.mmbase.framework.FrameworkFilter.doFilter(FrameworkFilter.java:
197)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
298)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:
861)
at org.apache.coyote.http11.Http11AprProtocol
$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint
$Worker.run(AprEndpoint.java:1584)
at java.lang.Thread.run(Thread.java:619)

Jacobjob Koster

unread,
Nov 26, 2010, 8:48:50 AM11/26/10
to mmbase-...@googlegroups.com
And you defined your MMBase servlets properly inside the web.xml file?
Additional to the default Liferay servlets, of course?
The order might be important btw.

PS. Maybe add the stack traces as an attachment; now they get wrapped
for every line.

Robin Vanspauwen

unread,
Nov 30, 2010, 5:54:22 AM11/30/10
to mmbase-...@googlegroups.com
I have attached the web.xml of the MMBase application. Most of the xml is generated. Maybe you can have a quick look at it?

Thanks!


web.xml
Reply all
Reply to author
Forward
0 new messages