liferay5.0+oralce10啓動報DocumentException

liferay5.0+oracle10配置好後啓動報如下錯誤:
15 May 2007 01:44:59,453 CPOR ERROR [http-8080-Processor24] util.ContentTransformerListener: org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog. Nested exception: Content is not allowed in prolog.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.io.SAXReader.read(SAXReader.java:365)
at com.liferay.portlet.journal.util.ContentTransformerListener.replaceContent(ContentTransformerListener.java:90)
at com.liferay.portlet.journal.util.ContentTransformerListener.onXml(ContentTransformerListener.java:58)
at com.liferay.portlet.journal.util.JournalUtil.transform(JournalUtil.java:757)
at com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.getArticleContent(JournalArticleLocalServiceImpl.java:709)
at com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.getArticleContent(JournalArticleLocalServiceImpl.java:585)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:280)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
at $Proxy12.getArticleContent(Unknown Source)
at com.liferay.portlet.journal.service.JournalArticleLocalServiceUtil.getArticleContent(JournalArticleLocalServiceUtil.java:269)
at com.liferay.portlet.journalcontent.util.JournalContentUtil.getContent(JournalContentUtil.java:78)
at com.liferay.portlet.journalcontent.action.ViewAction.render(ViewAction.java:69)
at com.liferay.portal.struts.PortletAction.execute(PortletAction.java:102)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at com.liferay.portal.struts.PortletRequestProcessor.processActionPerform(PortletRequestProcessor.java:249)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:131)
at com.liferay.portlet.StrutsPortlet.include(StrutsPortlet.java:223)
at com.liferay.portlet.StrutsPortlet.doView(StrutsPortlet.java:194)
at com.liferay.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:51)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:163)
at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:365)
at com.liferay.portlet.CachePortlet.render(CachePortlet.java:182)
at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:953)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:260)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:124)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:169)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1108)
at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1054)
at com.liferay.portal.action.RenderPortletAction.execute(RenderPortletAction.java:72)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:156)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:479)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:877)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:143)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:115)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:169)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Nested exception:
根據錯誤可以看出是XML解析錯誤,在網上找了好久找到一些人的回答:
# DocumentTransformerListener does not work
journal.transformer.listener=com.liferay.portlet.journal.util.TokensTransformerListener,com.liferay.portlet.journal.util.PropertiesTransformerListener,com.liferay.portlet.journal.util.LocaleTransformerListener

The issue happens because DocumentTransformerListener, which used to be disabled in Liferay 4.2.0, is now enabled by default. However, if the filter breaks, that does not disable the journal content, only the filter.
按他回答的修改後,錯誤依舊.沒辦法,自已找原因.用sqldeveloper打開數據庫發現journalarticle表content字段,有的顯示很多"\n",有的是正確的換行,只要是顯示"\n"運行就會報錯,自已寫了三個存儲過程,分別針對journalarticle,journaltemplate,journalstructure三個表修改,代碼如下:

create or replace PROCEDURE ARTICLE AS
BEGIN
FOR RESULT_ IN (SELECT * FROM JOURNALARTICLE WHERE CONTENT LIKE '%\n%') LOOP
UPDATE JOURNALARTICLE SET CONTENT =
Replace(RESULT_.CONTENT,'\n',CHR(10)) WHERE ID_=RESULT_.ID_;
END LOOP;
END ARTICLE;


create or replace PROCEDURE STRUCTRUE AS
BEGIN
FOR RESULT_ IN (SELECT * FROM JOURNALSTRUCTURE WHERE XSD LIKE '%\n%') LOOP
UPDATE JOURNALSTRUCTURE SET XSD =
Replace(RESULT_.XSD,'\n',CHR(10)) WHERE ID_=RESULT_.ID_;
END LOOP;
END STRUCTRUE;


create or replace PROCEDURE TEMPLATE AS
BEGIN
FOR RESULT_ IN (SELECT * FROM JOURNALTEMPLATE WHERE XSL LIKE '%\n%') LOOP
UPDATE JOURNALTEMPLATE SET XSL =
Replace(RESULT_.XSL,'\n',CHR(10)) WHERE ID_=RESULT_.ID_;
END LOOP;
END TEMPLATE;
發佈了6 篇原創文章 · 獲贊 0 · 訪問量 2960
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章