今天試著熟悉一下OLAT的功能, Demo course一個一個去try, 到了Demo course wiki的時候發現無法用Search去新增wiki, 出現下面的錯誤訊息:
2007-10-15 00:00:39,911 [TP-Processor17] ERROR Window - OLAT::ERROR ^%^ E1 ^%^ org.olat.core.gui.components ^%^ administrator ^%^ 220.139.220.139 ^%^
http://www.andowson.com/olat/auth/1%3A-1%3A0%3A0%3A0/ ^%^ Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-TW; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7 ^%^ **RedScreen** exception while rendering component 'wikiarticle' (org.olat.core.gui.components.velocity.VelocityContainer) listener:[org.olat.modules.wiki.WikiMainController@14cd198 [cListener:-]]
Message of exception: MethodInvocationException occured while merging template: methName:render, refName:r ::_:: ::_:: ^%^ >>>stack of 1.cause::org.olat.core.logging.OLATRuntimeException: exception while rendering component 'wikiarticle' (org.olat.core.gui.components.velocity.VelocityContainer) listener:[org.olat.modules.wiki.WikiMainController@14cd198 [cListener:-]]
Message of exception: MethodInvocationException occured while merging template: methName:render, refName:r -> at org.olat.core.gui.components.Window.dispatchRequest(Window.java:533) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:153) at org.olat.core.gui.components.Component.dispatchRequest(Component.java:119) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:202) at org.olat.core.dispatcher.DispatcherAction.execute(DispatcherAction.java:182) at org.olat.core.servlets.OLATServlet.doPost(OLATServlet.java:137) at org.olat.core.servlets.OLATServlet.doGet(OLATServlet.java:121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)>>>stack of 2.cause::org.olat.core.logging.OLATRuntimeException: MethodInvocationException occured while merging template: methName:render, refName:r -> at org.olat.core.gui.render.velocity.VelocityHelper.merge(VelocityHelper.java:108) at org.olat.core.gui.render.velocity.VelocityHelper.mergeContent(VelocityHelper.java:124) at org.olat.core.gui.components.velocity.VelocityContainerRenderer.render(VelocityContainerRenderer.java:102) at org.olat.core.gui.render.Renderer.render(Renderer.java:311) at org.olat.core.gui.components.tabbedpane.TabbedPaneRenderer.render(TabbedPaneRenderer.java:138) at org.olat.core.gui.render.Renderer.render(Renderer.java:311) at org.olat.core.gui.render.Renderer.render(Renderer.java:211) at org.olat.core.gui.render.velocity.VelocityRenderDecorator.doRender(VelocityRenderDecorator.java:483) at org.olat.core.gui.render.velocity.VelocityRenderDecorator.render(VelocityRenderDecorator.java:327) at sun.reflect.GeneratedMethodAccessor1419.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)>>>stack of 3.cause::java.lang.StackOverflowError: null -> at java.util.regex.Pattern.isSurrogate(Pattern.java:2850) at java.util.regex.Pattern.isSupplementary(Pattern.java:1733) at java.util.regex.Pattern.newSingle(Pattern.java:2949) at java.util.regex.Pattern.atom(Pattern.java:1985) at java.util.regex.Pattern.sequence(Pattern.java:1885) at java.util.regex.Pattern.expr(Pattern.java:1752) at java.util.regex.Pattern.compile(Pattern.java:1460) at java.util.regex.Pattern.<init>(Pattern.java:1133) at java.util.regex.Pattern.compile(Pattern.java:823) at java.lang.String.replaceAll(String.java:2190) at org.olat.modules.wiki.gui.components.wikiToHtml.FilterUtil.normalizeWikiLink(FilterUtil.java:52)
2007-10-15 00:00:56,075 [TP-Processor10] ERROR syslog - Method render threw exception for reference $r in template org/olat/modules/wiki/_content/article.html at [75,25]
不過在[olat_developers]的mailing-list上已經有發布解決方案了, 就是把附檔下載後解開來, 將五個檔案上傳到OLAT安裝目錄下的/WEB-INF/classes目錄下, 再重新啟動Tomcat即可.