在Tomcat中部署Cocoon的问题

时间:2011-07-20 23:18:20

标签: tomcat apache-cocoon

我正在尝试在Tomcat(7.0.12)中部署cocoon(2.1.11)(我知道我可以运行cocoon standalone并且已经成功完成了,但我试图更好地理解整个Web应用程序环境)我已经构建了cocoon.war文件,将其复制到tomcat / webapps目录并启动了tomcat。

我所咨询过的所有网页都明确表示这就是所需要的。 我可以看到.war文件被解压缩到一个cocoon子目录中,并且cocoon显示为其中一个应用程序。但是当我浏览到这个URL时:

http://localhost:8080/cocoon

我得到了这个Java追溯:

org.apache.cocoon.ResourceNotFoundException: No pipeline matched request: index.html
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:149)
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
    at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
    at org.apache.cocoon.Cocoon.process(Cocoon.java:699)
    at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1154)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)

任何人都可以帮助我理解为什么吗?

2 个答案:

答案 0 :(得分:2)

我知道这已经岁了, 我刚刚在tomcat 7.0.29部署中使用了http://www.xml.com/lpt/a/1178 cocoon-soap.war,需要修改sitemap.xmap以包含

 <map:match pattern="index.html"> 

以及以下内容:

<map:match pattern=""> 
 <map:generate src="index.html"/>
 <map:serialize/>
</map:match>

答案 1 :(得分:1)

通常会发生此错误,因为您没有正确设置站点地图。你的站点地图中是否有一个通用的.html管道。