是否这编安装文档:
http://xml.apache.org/cocoon/install.html#tomcat

解决方案 »

  1.   

    补充说明:
    cocoon.preproties和web.xml均放在web-inf目录,concoon的context也已设置,所有的jar文件都copy到tomcat的lib目录,classpath中也没有放置其他的xml解析器。
     
    web.xml的内容:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!-- edited with XML Spy v3.0 (http://www.xmlspy.com) by Che Ming (PCSoft) -->
    <!-- 
         This is the web-app configurations that allow Cocoon to work under
         Apache Tomcat. Please, follow the installation section of the
         documentation for more information about installing Cocoon on Tomcat 
    -->
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
        "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
    <web-app>
     <servlet>
      <servlet-name>org.apache.cocoon.Cocoon</servlet-name>
      <servlet-class>org.apache.cocoon.Cocoon</servlet-class>
      <init-param>
       <param-name>properties</param-name>
       <param-value>WEB-INF/cocoon.properties</param-value>
      </init-param>
     </servlet>
     <servlet-mapping>
      <servlet-name>org.apache.cocoon.Cocoon</servlet-name>
      <url-pattern>*.xml</url-pattern>
     </servlet-mapping>
    </web-app>
      

  2.   

    我靠,原来是 cocoon.jar的classpath没有设!设好后可以解析xml文件!但有新问题出现:Publishing Engine could not be initialized.
    java.lang.RuntimeException: Error creating org.apache.cocoon.parser.XercesParser: make sure the needed classes can be found in the classpath (org/apache/xerces/framework/XMLParser)
    at org.apache.cocoon.framework.Manager.create(Manager.java:122)
    at org.apache.cocoon.Engine.<init>(Engine.java:147)
    at org.apache.cocoon.Engine.getInstance(Engine.java:232)
    at org.apache.cocoon.Cocoon.init(Cocoon.java:157)
    at org.apache.tomcat.core.ServletWrapper.doInit(ServletWrapper.java:317)
    at org.apache.tomcat.core.Handler.init(Handler.java:215)
    at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:296)
    at org.apache.tomcat.core.Handler.service(Handler.java:254)
    at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
    at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
    at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
    at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
    at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
    at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
    at java.lang.Thread.run(Thread.java:484)
      

  3.   

    A context in Tomcat describes to Tomcat how and when to load a particular servlet and Cocoon is one such servlet. First we need to make sure that Tomcat knows how to load the Cocoon .jar files. To begin with, you must copy any .jar files from $COCOON_HOME/lib to $TOMCAT_HOME/lib that are necessary for Cocoon to run (see top of page). In addition, you must copy $COCOON_HOME/bin/cocoon.jar to $TOMCAT_HOME/lib. In recent versions of Tomcat under Unix and Windows, Tomcat will automatically detect any .jar files in the $TOMCAT_HOME/lib directory. But with Tomcat 3.1 under Windows only, you must explicitly add the new .jar files in the appropriate place in the file $TOMCAT_ROOT/bin/tomcat.bat. 
      

  4.   

    "In recent versions of Tomcat under Unix and Windows, Tomcat will automatically detect any .jar files in the $TOMCAT_HOME/lib directory"问题就出在这句话上,可tomcat根本没有自动加载*.jar.
    现在我把jar都手动的加到classpath上,问题已经基本解决了,现在是:Publishing Engine could not be initialized.
    java.lang.RuntimeException: Exception when creating " org.apache.cocoon.processor.xsp.XSPProcessor" : 
    java.lang.NoSuchMethodError: See http://xml.apache.org/cocoon/faqs.html#faq-normalize
    at org.apache.cocoon.framework.Manager.create(Manager.java:124)
    at org.apache.cocoon.framework.Router.init(Router.java:80)
    at org.apache.cocoon.framework.Manager.create(Manager.java:109)
    at org.apache.cocoon.Engine.<init>(Engine.java:179)
    at org.apache.cocoon.Engine.getInstance(Engine.java:232)
    at org.apache.cocoon.Cocoon.init(Cocoon.java:157)
    at org.apache.tomcat.core.ServletWrapper.doInit(ServletWrapper.java:317)
    at org.apache.tomcat.core.Handler.init(Handler.java:215)
    at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:296)
    at org.apache.tomcat.core.Handler.service(Handler.java:254)
    at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
    at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
    at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
    at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
    at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
    at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
    at java.lang.Thread.run(Thread.java:484)现在在看看http://xml.apache.org/cocoon/faqs.html#faq-normalize我估计就没有什么问题了,谢谢skyyoung(路人甲)的热心帮助!
      

  5.   

    看到这句没有。
    But with Tomcat 3.1 under Windows only, you must explicitly add the new .jar files in the appropriate place in the file $TOMCAT_ROOT/bin/tomcat.bat. 
      

  6.   

    是呀,看到了可以我用的是tomcat3.2.1.我以为可以,实际上还要手工加。现在xsp还是个问题。
    不知什么问题,faq也没说清楚
      

  7.   

    就是上面的最后的一个错误提示,初始xsp出现问题,现在还没有解决
      

  8.   

    急呀急!cocoon这么好的东西大家一起试一试呀。问题画面提示:Publishing Engine could not be initialized.
    java.lang.RuntimeException: Exception when creating " org.apache.cocoon.processor.xsp.XSPProcessor" : 
    java.lang.NoSuchMethodError: See http://xml.apache.org/cocoon/faqs.html#faq-normalize
        at org.apache.cocoon.framework.Manager.create(Manager.java:124)
        at org.apache.cocoon.framework.Router.init(Router.java:80)
        at org.apache.cocoon.framework.Manager.create(Manager.java:109)
        at org.apache.cocoon.Engine.<init>(Engine.java:179)
        at org.apache.cocoon.Engine.getInstance(Engine.java:232)
        at org.apache.cocoon.Cocoon.init(Cocoon.java:157)
        at org.apache.tomcat.core.ServletWrapper.doInit(ServletWrapper.java:317)
        at org.apache.tomcat.core.Handler.init(Handler.java:215)
        at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:296)
        at org.apache.tomcat.core.Handler.service(Handler.java:254)
        at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
        at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
        at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
        at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
        at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
        at java.lang.Thread.run(Thread.java:484)
      

  9.   

    对照的你写的method和document的method,看是否符合参数一致,应为他显示无这个方法。可能你的方法输入参数多了,少了,不匹配。
      

  10.   

    有高人指点说我的jar文件在classpath中顺序不对,我调整后问题依旧,闹心呀闹心
      

  11.   

    可以send个文件给我吗,我也开始搞这东西。大家交流交流吧。