Forrest
  1. Forrest
  2. FOR-1074

the war target needs to include supporting jars that are provided in each plugin lib directory

    Details

    • Urgency:
      Blocker

      Description

      Do
      cd testing
      forrest seed
      forrest war
      cp build/my-project.war $CATALINA_HOME/webapps/tomcat.war
      lynx http://localhost:8080/tomcat/

      => Internal Server Error
      ==> webapps/tomcat/WEB-INF/logs/core.log <==
      ERROR (2008-03-03) 09:49.45:186 [access] (/tomcat/) http-8080-2/CocoonServlet: Internal Cocoon Problem
      org.apache.cocoon.ProcessingException: Sitemap: error when calling sub-sitemap
              at [Exception] - file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:21:120
              at [ConfigurationException] - file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:21:120
              at <map:mount> - file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/project/build/tmp/output.xmap:33:147
              at <map:mount> - file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/sitemap.xmap:533:106
              at org.apache.cocoon.ProcessingException.throwLocated(ProcessingException.java:112)
              at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:81)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:155)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:95)
              at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:292)
              at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:223)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:289)
              at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:114)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:81)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:155)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:95)
              at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:292)
              at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:223)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:289)
              at org.apache.cocoon.Cocoon.process(Cocoon.java:557)
              at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:364)
              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.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:263)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
              at java.lang.Thread.run(Thread.java:595)
      Caused by: org.apache.avalon.framework.configuration.ConfigurationException: Could not add component defined at file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:21:120
              at org.apache.cocoon.core.container.CoreServiceManager.addComponent(CoreServiceManager.java:542)
              at org.apache.cocoon.components.container.CocoonServiceManager.addComponent(CocoonServiceManager.java:66)
              at org.apache.cocoon.core.container.DefaultServiceSelector.configure(DefaultServiceSelector.java:124)
              at org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.configure(ComponentsSelector.java:101)
              at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
              at org.apache.cocoon.core.container.DefaultServiceSelector$Factory.setupInstance(DefaultServiceSelector.java:215)
              at org.apache.cocoon.core.container.ComponentFactory.newInstance(ComponentFactory.java:133)
              at org.apache.cocoon.core.container.handler.ThreadSafeComponentHandler.doInitialize(ThreadSafeComponentHandler.java:54)
              at org.apache.cocoon.core.container.handler.AbstractComponentHandler.initialize(AbstractComponentHandler.java:274)
              at org.apache.cocoon.core.container.handler.AbstractComponentHandler.getComponentHandler(AbstractComponentHandler.java:128)
              at org.apache.cocoon.core.container.CoreServiceManager.getComponentHandler(CoreServiceManager.java:680)
              at org.apache.cocoon.core.container.CoreServiceManager.addComponent(CoreServiceManager.java:532)
              at org.apache.cocoon.components.container.CocoonServiceManager.addComponent(CocoonServiceManager.java:66)
              at org.apache.cocoon.core.container.CoreServiceManager.parseConfiguration(CoreServiceManager.java:729)
              at org.apache.cocoon.core.container.CoreServiceManager.configure(CoreServiceManager.java:211)
              at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
              at org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.createServiceManager(SitemapLanguage.java:115)
              at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:396)
              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.apache.cocoon.core.container.handler.PoolableComponentHandler$ProxyHandler.invoke(PoolableComponentHandler.java:147)
              at $Proxy8.build(Unknown Source)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:725)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:394)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:288)
              at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:114)
              ... 34 more
      Caused by: java.lang.Exception: Cannot find class org.apache.cocoon.blocks.fop.FOPNGSerializer for component at file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:21:120
              at org.apache.cocoon.core.container.handler.AbstractComponentHandler.getComponentHandler(AbstractComponentHandler.java:77)
              at org.apache.cocoon.core.container.CoreServiceManager.getComponentHandler(CoreServiceManager.java:680)
              at org.apache.cocoon.core.container.CoreServiceManager.addComponent(CoreServiceManager.java:532)
              ... 61 more
      Caused by: java.lang.ClassNotFoundException: org.apache.cocoon.blocks.fop.FOPNGSerializer
              at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
              at org.apache.cocoon.core.container.ComponentEnvironment.loadClass(ComponentEnvironment.java:77)
              at org.apache.cocoon.core.container.handler.AbstractComponentHandler.getComponentHandler(AbstractComponentHandler.java:75)
              ... 63 more

      ==> webapps/tomcat/WEB-INF/logs/error.log <==
      ERROR (2008-03-03) 09:49.45:186 [access] (/tomcat/) http-8080-2/CocoonServlet: Internal Cocoon Problem
      org.apache.cocoon.ProcessingException: Sitemap: error when calling sub-sitemap
              at [Exception] - file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:21:120
              at [ConfigurationException] - file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:21:120
              at <map:mount> - file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/project/build/tmp/output.xmap:33:147
              at <map:mount> - file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/sitemap.xmap:533:106
              at org.apache.cocoon.ProcessingException.throwLocated(ProcessingException.java:112)
              at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:81)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:155)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:95)
              at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:292)
              at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:223)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:289)
              at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:114)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:81)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:155)
              at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
              at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:95)
              at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:292)
              at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:223)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:289)
              at org.apache.cocoon.Cocoon.process(Cocoon.java:557)
              at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:364)
              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.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:263)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
              at java.lang.Thread.run(Thread.java:595)
      Caused by: org.apache.avalon.framework.configuration.ConfigurationException: Could not add component defined at file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:21:120
              at org.apache.cocoon.core.container.CoreServiceManager.addComponent(CoreServiceManager.java:542)
              at org.apache.cocoon.components.container.CocoonServiceManager.addComponent(CocoonServiceManager.java:66)
              at org.apache.cocoon.core.container.DefaultServiceSelector.configure(DefaultServiceSelector.java:124)
              at org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.configure(ComponentsSelector.java:101)
              at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
              at org.apache.cocoon.core.container.DefaultServiceSelector$Factory.setupInstance(DefaultServiceSelector.java:215)
              at org.apache.cocoon.core.container.ComponentFactory.newInstance(ComponentFactory.java:133)
              at org.apache.cocoon.core.container.handler.ThreadSafeComponentHandler.doInitialize(ThreadSafeComponentHandler.java:54)
              at org.apache.cocoon.core.container.handler.AbstractComponentHandler.initialize(AbstractComponentHandler.java:274)
              at org.apache.cocoon.core.container.handler.AbstractComponentHandler.getComponentHandler(AbstractComponentHandler.java:128)
              at org.apache.cocoon.core.container.CoreServiceManager.getComponentHandler(CoreServiceManager.java:680)
              at org.apache.cocoon.core.container.CoreServiceManager.addComponent(CoreServiceManager.java:532)
              at org.apache.cocoon.components.container.CocoonServiceManager.addComponent(CocoonServiceManager.java:66)
              at org.apache.cocoon.core.container.CoreServiceManager.parseConfiguration(CoreServiceManager.java:729)
              at org.apache.cocoon.core.container.CoreServiceManager.configure(CoreServiceManager.java:211)
              at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
              at org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.createServiceManager(SitemapLanguage.java:115)
              at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:396)
              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.apache.cocoon.core.container.handler.PoolableComponentHandler$ProxyHandler.invoke(PoolableComponentHandler.java:147)
              at $Proxy8.build(Unknown Source)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:725)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:394)
              at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:288)
              at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:114)
              ... 34 more
      Caused by: java.lang.Exception: Cannot find class org.apache.cocoon.blocks.fop.FOPNGSerializer for component at file:/home/thorsten/src/apache/apache-tomcat-6.0.14/webapps/tomcat/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:21:120
              at org.apache.cocoon.core.container.handler.AbstractComponentHandler.getComponentHandler(AbstractComponentHandler.java:77)
              at org.apache.cocoon.core.container.CoreServiceManager.getComponentHandler(CoreServiceManager.java:680)
              at org.apache.cocoon.core.container.CoreServiceManager.addComponent(CoreServiceManager.java:532)
              ... 61 more
      Caused by: java.lang.ClassNotFoundException: org.apache.cocoon.blocks.fop.FOPNGSerializer
              at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
              at org.apache.cocoon.core.container.ComponentEnvironment.loadClass(ComponentEnvironment.java:77)
              at org.apache.cocoon.core.container.handler.AbstractComponentHandler.getComponentHandler(AbstractComponentHandler.java:75)
              ... 63 more

        Issue Links

          Activity

          Hide
          Gavin added a comment -
          A recent message [1] to the dev list highlights that FOPNGSerializer was renamed at some point, does this change need to be reflected elsewhere for WAR perhaps ?

          [1] - http://marc.info/?l=forrest-dev&m=121446890418306&w=2
          Show
          Gavin added a comment - A recent message [1] to the dev list highlights that FOPNGSerializer was renamed at some point, does this change need to be reflected elsewhere for WAR perhaps ? [1] - http://marc.info/?l=forrest-dev&m=121446890418306&w=2
          Hide
          Antoine ROBERT added a comment -
          Hello,

          I do have the same problem ...

          In my opinion the current Trunk version is corrupted.

          System information
          OS: Windows
          Tomcat 6.0.18
          SVN : Turtoise SVN / SVN Client v1.5.1
          Forrest 0.9-dev Trunk v 723363
          Java :
             java version "1.6.0_11"
             Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
             Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)

          What I did step by step
          1/ Checkout svn 0.9-dev (Trunk v 723363 with last commit revision = 721753 03:53:28, dimanche 30 novembre 2008) with SVN 1.5.1

          2/ Change my env vars from forrest 0.8 to forrest-0.9-dev folder

          3/ Build (successfully) forrest

          4/ Create and go into a tmp folder (d:/tmp/)

          5/ forrest seed

          5/ forrest war
          --> For information in the war traces I found this :
          Warning: D:\tmp\src\documentation\lib not found.
          Copying 1 file to D:\tmp\build\webapp\WEB-INF\classes
          Copying 58 files to D:\tmp\build\webapp\WEB-INF\lib
          Copying 1 file to D:\tmp\build\webapp\WEB-INF\lib
          Warning: Could not find file D:\forrest\apache-forrest-0.9-dev\build\plugins\lib\org.apache.forrest.plugin.output.pdf.jar to copy.
          Created dir: D:\tmp\build\webapp\project
          Copying 86 files to D:\tmp\build\webapp\project
          Copied 20 empty directories to 2 empty directories under D:\tmp\build\webapp\project
          Copying 1 file to D:\tmp\build\webapp\project\build\tmp
          Copying 1 file to D:\tmp\build\webapp\project\build\tmp
          Copying 4 files to D:\tmp\build\webapp\project\build\tmp
          ---------------------------------

          6/ Deployed my-project.war into %HOME_TOMCAT%\webapps\

          7/ Launch Tomcat 6

          Here is the HTML Response :
          <html><head><title>Internal Server Error</title><style><!--body { background-color: white; color: black

          ; font-family: verdana, helvetica, sanf serif;}h1 {color: #336699; margin: 0px 0px 20px 0px; border-width

          : 0px 0px 1px 0px; border-style: solid; border-color: #336699;}p.footer { color: #336699; border-width

          : 1px 0px 0px 0px; border-style: solid; border-color: #336699; }span {color: #336699;}pre {padding-left

          : 20px;}a:link {font-weight: bold; color: #336699;}a:visited {color: #336699; }a:hover {color: #800000

          ; background-color: #ffff80;}a:active {color: #006666;}--></style></head><body><h1>Internal Server Error

          </h1><p><span>Message:</span> null</p><p><span>Description:</span> No details available.</p><p><span

          >Sender:</span> org.apache.cocoon.servlet.CocoonServlet</p><p><span>Source:</span> Cocoon Servlet</p

          ><p><span>cause</span><pre>org.apache.cocoon.blocks.fop.FOPNGSerializer</pre></p><p><span>Request URI

          </span><pre></pre></p><p><span>request-uri</span><pre>/my-project/</pre></p><p class='footer'><a href

          ='http://cocoon.apache.org/&#39;&gt;Apache Cocoon 2.1.12-dev</p></body></html>

          Arobert Note : This warning seems important : Warning: Could not find file D:\forrest\apache-forrest-0.9-dev\build\plugins\lib\org.apache.forrest.plugin.output.pdf.jar to copy.(See above in step 5)


          And here are the Tomcat6 logs from "core.log" :
          WARN (2008-12-05) 18:10.09:912 [core.language.java] (Unknown-URI) Unknown-Thread/JavaLanguage: Attempted to retrieve directory listing of non-directory C:\WINDOWS\Sun\Java\lib\ext
          ERROR (2008-12-05) 18:10.26:486 [access] (/my-project/) http-8080-1/CocoonServlet: Internal Cocoon Problem
          org.apache.cocoon.ProcessingException: Failed to load sitemap from file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap
          at [ConfigurationException] - file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:38:116
          at <map:mount> - file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/project/build/tmp/output.xmap:21:147
          at <map:mount> - file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/sitemap.xmap:538:106
          at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:374)
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:341)
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:306)
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252)
          at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
          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.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
          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: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.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          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.Http11Processor.process(Http11Processor.java:845)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
          at java.lang.Thread.run(Thread.java:619)
          Caused by: org.apache.avalon.framework.configuration.ConfigurationException: Could not load class org.apache.cocoon.blocks.fop.FOPNGSerializer for component named 'fo2pdf' at file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:38:116
          at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:236)
          at org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.configure(ComponentsSelector.java:158)
          at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
          at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:289)
          at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108)
          at org.apache.avalon.excalibur.component.ExcaliburComponentManager.initialize(ExcaliburComponentManager.java:524)
          at org.apache.cocoon.components.CocoonComponentManager.initialize(CocoonComponentManager.java:583)
          at org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.createComponentManager(SitemapLanguage.java:91)
          at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:390)
          at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:370)
          ... 38 more
          Caused by: java.lang.ClassNotFoundException: org.apache.cocoon.blocks.fop.FOPNGSerializer
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
          at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:228)
          ... 47 more


          Here are the Tomcat6 logs from "sitemap.log" :
          ERROR (2008-12-05) 18:10.26:471 [sitemap] (/my-project/) http-8080-1/ExtendedComponentSelector: Could not load class org.apache.cocoon.blocks.fop.FOPNGSerializer for component named 'fo2pdf' at file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:38:116
          java.lang.ClassNotFoundException: org.apache.cocoon.blocks.fop.FOPNGSerializer
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
          at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:228)
          at org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.configure(ComponentsSelector.java:158)
          at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
          at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:289)
          at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108)
          at org.apache.avalon.excalibur.component.ExcaliburComponentManager.initialize(ExcaliburComponentManager.java:524)
          at org.apache.cocoon.components.CocoonComponentManager.initialize(CocoonComponentManager.java:583)
          at org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.createComponentManager(SitemapLanguage.java:91)
          at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:390)
          at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:370)
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:341)
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:306)
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252)
          at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
          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.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
          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: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.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          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.Http11Processor.process(Http11Processor.java:845)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
          at java.lang.Thread.run(Thread.java:619)
          ERROR (2008-12-05) 18:10.26:486 [sitemap] (/my-project/) http-8080-1/ExcaliburComponentManager: Caught an exception trying to initialize the component handler.
          org.apache.avalon.framework.configuration.ConfigurationException: Could not load class org.apache.cocoon.blocks.fop.FOPNGSerializer for component named 'fo2pdf' at file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:38:116
          at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:236)
          at org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.configure(ComponentsSelector.java:158)
          at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
          at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:289)
          at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108)
          at org.apache.avalon.excalibur.component.ExcaliburComponentManager.initialize(ExcaliburComponentManager.java:524)
          at org.apache.cocoon.components.CocoonComponentManager.initialize(CocoonComponentManager.java:583)
          at org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.createComponentManager(SitemapLanguage.java:91)
          at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:390)
          at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:370)
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:341)
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:306)
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252)
          at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
          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.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98)
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
          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: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.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          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.Http11Processor.process(Http11Processor.java:845)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
          at java.lang.Thread.run(Thread.java:619)
          Caused by: java.lang.ClassNotFoundException: org.apache.cocoon.blocks.fop.FOPNGSerializer
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
          at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:228)
          ... 47 more


          So ok I have exactly the same problem than the one described above, and so I followed the link you sent Gavin, and I tried to understand it

          So I read this post : http://www.nabble.com/NoClassDefFoundError%3A-org-apache-fop-messaging-MessageHandler-td18128468.html#a18128468
          ... especially last note saying that src was wrong ...

          1/ First of all, what I understood is that trunk is currently corrupt, since the Sjur Moshagen conflict resolution mistake
          2/ Anyway I try to change @src value from "org.apache.cocoon.blocks.fop.FOPNGSerializer" to "org.apache.cocoon.serialization.FOPSerializer" without great believing on myself about that !

          Here are the steps og what I tried :

          1/ Delete %FORREST_HOME%\build folder and %FORREST_HOME%\plugins\org.apache.forrest.plugin.output.pdf\build\

          2/ Check for forrest updates --> Ok no update ! :)

          3/ Find a file talking about : src="org.apache.cocoon.blocks.fop.FOPNGSerializer" --> The only one I found was %FORREST_HOME%/plugins/org.apache.forrest.plugin.output.pdf/output.xmap

          4/ Change @src value from "org.apache.cocoon.blocks.fop.FOPNGSerializer" to "org.apache.cocoon.serialization.FOPSerializer"

          5/ Rebuild forrest

          6/ Delete, Create and go into a tmp folder (d:/tmp/)

          7/ forrest seed (Successful)

          8/ forrest war (Successful)

          9/ Stop tomcat 6

          10/ Copy (and replace) my-projet.war into %HOME_TOMCAT%\webapps\

          11/ Start tomcat6

          OK this time that works I can see my website ... BUT ...

          12/ I click on PDF button and i get this error :

          Etat HTTP 500 -

          type Rapport d'exception


          exception

          javax.servlet.ServletException:

          main cause

          java.lang.NoClassDefFoundError: Could not initialize class org.apache.cocoon.serialization.FOPSerializer
          sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
          sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
          java.lang.reflect.Constructor.newInstance(Constructor.java:513)
          java.lang.Class.newInstance0(Class.java:355)
          java.lang.Class.newInstance(Class.java:308)
          org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:195)
          org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.newPoolable(InstrumentedResourceLimitingPool.java:655)
          org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.get(InstrumentedResourceLimitingPool.java:371)
          org.apache.avalon.excalibur.component.PoolableComponentHandler.doGet(PoolableComponentHandler.java:198)
          org.apache.avalon.excalibur.component.ComponentHandler.get(ComponentHandler.java:381)
          org.apache.avalon.excalibur.component.ExcaliburComponentSelector.select(ExcaliburComponentSelector.java:215)
          org.apache.cocoon.components.ExtendedComponentSelector.select(ExtendedComponentSelector.java:268)
          org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.setSerializer(AbstractProcessingPipeline.java:311)
          org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.setSerializer(AbstractCachingProcessingPipeline.java:171)
          org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:103)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
          org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:131)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
          org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:139)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
          org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
          org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
          org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
          org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
          org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
          org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
          org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
          org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
          org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
          org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
          org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
          org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
          org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
          org.apache.cocoon.Cocoon.process(Cocoon.java:699)
          org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1154)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


          For information here is the core.log output:
          WARN (2008-12-05) 18:52.30:800 [core.language.java] (Unknown-URI) Unknown-Thread/JavaLanguage: Attempted to retrieve directory listing of non-directory C:\WINDOWS\Sun\Java\lib\ext
          WARN (2008-12-05) 18:54.34:822 [core.modules.mapper.lm] (/my-project/images/group.png) http-8080-1/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/group.svg' is not a valid Source URL
          WARN (2008-12-05) 18:54.34:822 [core.modules.mapper.lm] (/my-project/images/group.png) http-8080-1/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/group.svg' is not a valid Source URL
          WARN (2008-12-05) 18:54.34:822 [core.modules.mapper.lm] (/my-project/images/project.png) http-8080-2/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/project.svg' is not a valid Source URL
          WARN (2008-12-05) 18:54.34:838 [core.modules.mapper.lm] (/my-project/images/project.png) http-8080-2/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/project.svg' is not a valid Source URL
          WARN (2008-12-05) 18:55.15:861 [core.modules.mapper.lm] (/my-project/samples-b/images/project-logo.png) http-8080-1/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/samples-b/images/project-logo.png' is not a valid Source URL
          WARN (2008-12-05) 18:55.15:861 [core.modules.mapper.lm] (/my-project/samples-b/images/project-logo.png) http-8080-1/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/samples-b/images/project-logo.png' is not a valid Source URL
          WARN (2008-12-05) 18:55.15:876 [core.modules.mapper.lm] (/my-project/samples-b/images/icon.png) http-8080-2/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/samples-b/images/icon.png' is not a valid Source URL
          WARN (2008-12-05) 18:55.15:892 [core.modules.mapper.lm] (/my-project/samples-b/images/icon.png) http-8080-2/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/samples-b/images/icon.png' is not a valid Source URL


          So I'm wondering whether someone from forrest team could test this by his own, and tell me that he has the same problem :)

          Thanks to all for your great work, and good luck guys for that :) ...

          Hope my post helps !

          PS: This post comes with this JIRA : https://issues.apache.org/jira/browse/FOR-1133
          and this discussion http://www.nabble.com/PDF-not-working-correctly-in-deployed-WAR-file-on-Tomcat-td15295911i20.html

          My final conclusion (About all that discusions) is that it's not really possible (at this time) to make forrest fully work with Tomcat 6.0.18 packaged in a War archive , that means that you should specify on Forrest site that forrest 0.8 and forrest 0.9-dev isn't working on last Tomcat Release (tomcat6) .





          Show
          Antoine ROBERT added a comment - Hello, I do have the same problem ... In my opinion the current Trunk version is corrupted. System information OS: Windows Tomcat 6.0.18 SVN : Turtoise SVN / SVN Client v1.5.1 Forrest 0.9-dev Trunk v 723363 Java :    java version "1.6.0_11"    Java(TM) SE Runtime Environment (build 1.6.0_11-b03)    Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing) What I did step by step 1/ Checkout svn 0.9-dev (Trunk v 723363 with last commit revision = 721753 03:53:28, dimanche 30 novembre 2008) with SVN 1.5.1 2/ Change my env vars from forrest 0.8 to forrest-0.9-dev folder 3/ Build (successfully) forrest 4/ Create and go into a tmp folder (d:/tmp/) 5/ forrest seed 5/ forrest war --> For information in the war traces I found this : Warning: D:\tmp\src\documentation\lib not found. Copying 1 file to D:\tmp\build\webapp\WEB-INF\classes Copying 58 files to D:\tmp\build\webapp\WEB-INF\lib Copying 1 file to D:\tmp\build\webapp\WEB-INF\lib Warning: Could not find file D:\forrest\apache-forrest-0.9-dev\build\plugins\lib\org.apache.forrest.plugin.output.pdf.jar to copy. Created dir: D:\tmp\build\webapp\project Copying 86 files to D:\tmp\build\webapp\project Copied 20 empty directories to 2 empty directories under D:\tmp\build\webapp\project Copying 1 file to D:\tmp\build\webapp\project\build\tmp Copying 1 file to D:\tmp\build\webapp\project\build\tmp Copying 4 files to D:\tmp\build\webapp\project\build\tmp --------------------------------- 6/ Deployed my-project.war into %HOME_TOMCAT%\webapps\ 7/ Launch Tomcat 6 Here is the HTML Response : <html><head><title>Internal Server Error</title><style><!--body { background-color: white; color: black ; font-family: verdana, helvetica, sanf serif;}h1 {color: #336699; margin: 0px 0px 20px 0px; border-width : 0px 0px 1px 0px; border-style: solid; border-color: #336699;}p.footer { color: #336699; border-width : 1px 0px 0px 0px; border-style: solid; border-color: #336699; }span {color: #336699;}pre {padding-left : 20px;}a:link {font-weight: bold; color: #336699;}a:visited {color: #336699; }a:hover {color: #800000 ; background-color: #ffff80;}a:active {color: #006666;}--></style></head><body><h1>Internal Server Error </h1><p><span>Message:</span> null</p><p><span>Description:</span> No details available.</p><p><span >Sender:</span> org.apache.cocoon.servlet.CocoonServlet</p><p><span>Source:</span> Cocoon Servlet</p ><p><span>cause</span><pre>org.apache.cocoon.blocks.fop.FOPNGSerializer</pre></p><p><span>Request URI </span><pre></pre></p><p><span>request-uri</span><pre>/my-project/</pre></p><p class='footer'><a href =' http://cocoon.apache.org/&#39;&gt;Apache Cocoon 2.1.12-dev</p></body></html> Arobert Note : This warning seems important : Warning: Could not find file D:\forrest\apache-forrest-0.9-dev\build\plugins\lib\org.apache.forrest.plugin.output.pdf.jar to copy.(See above in step 5) And here are the Tomcat6 logs from "core.log" : WARN (2008-12-05) 18:10.09:912 [core.language.java] (Unknown-URI) Unknown-Thread/JavaLanguage: Attempted to retrieve directory listing of non-directory C:\WINDOWS\Sun\Java\lib\ext ERROR (2008-12-05) 18:10.26:486 [access] (/my-project/) http-8080-1/CocoonServlet: Internal Cocoon Problem org.apache.cocoon.ProcessingException: Failed to load sitemap from file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap at [ConfigurationException] - file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:38:116 at <map:mount> - file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/project/build/tmp/output.xmap:21:147 at <map:mount> - file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/sitemap.xmap:538:106 at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:374) at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:341) at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:306) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 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.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 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: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.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 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.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.avalon.framework.configuration.ConfigurationException: Could not load class org.apache.cocoon.blocks.fop.FOPNGSerializer for component named 'fo2pdf' at file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:38:116 at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:236) at org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.configure(ComponentsSelector.java:158) at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201) at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:289) at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108) at org.apache.avalon.excalibur.component.ExcaliburComponentManager.initialize(ExcaliburComponentManager.java:524) at org.apache.cocoon.components.CocoonComponentManager.initialize(CocoonComponentManager.java:583) at org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.createComponentManager(SitemapLanguage.java:91) at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:390) at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:370) ... 38 more Caused by: java.lang.ClassNotFoundException: org.apache.cocoon.blocks.fop.FOPNGSerializer at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:228) ... 47 more Here are the Tomcat6 logs from "sitemap.log" : ERROR (2008-12-05) 18:10.26:471 [sitemap] (/my-project/) http-8080-1/ExtendedComponentSelector: Could not load class org.apache.cocoon.blocks.fop.FOPNGSerializer for component named 'fo2pdf' at file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:38:116 java.lang.ClassNotFoundException: org.apache.cocoon.blocks.fop.FOPNGSerializer at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:228) at org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.configure(ComponentsSelector.java:158) at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201) at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:289) at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108) at org.apache.avalon.excalibur.component.ExcaliburComponentManager.initialize(ExcaliburComponentManager.java:524) at org.apache.cocoon.components.CocoonComponentManager.initialize(CocoonComponentManager.java:583) at org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.createComponentManager(SitemapLanguage.java:91) at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:390) at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:370) at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:341) at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:306) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 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.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 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: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.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 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.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) ERROR (2008-12-05) 18:10.26:486 [sitemap] (/my-project/) http-8080-1/ExcaliburComponentManager: Caught an exception trying to initialize the component handler. org.apache.avalon.framework.configuration.ConfigurationException: Could not load class org.apache.cocoon.blocks.fop.FOPNGSerializer for component named 'fo2pdf' at file:///D:/j2ee/outils/apache-tomcat-6.0.18/webapps/my-project/build/plugins/org.apache.forrest.plugin.output.pdf/output.xmap:38:116 at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:236) at org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.configure(ComponentsSelector.java:158) at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201) at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:289) at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108) at org.apache.avalon.excalibur.component.ExcaliburComponentManager.initialize(ExcaliburComponentManager.java:524) at org.apache.cocoon.components.CocoonComponentManager.initialize(CocoonComponentManager.java:583) at org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.createComponentManager(SitemapLanguage.java:91) at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:390) at org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:370) at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildConcreteProcessor(TreeProcessor.java:341) at org.apache.cocoon.components.treeprocessor.TreeProcessor.setupConcreteProcessor(TreeProcessor.java:306) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:252) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 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.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 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: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.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 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.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.ClassNotFoundException: org.apache.cocoon.blocks.fop.FOPNGSerializer at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:228) ... 47 more So ok I have exactly the same problem than the one described above, and so I followed the link you sent Gavin, and I tried to understand it So I read this post : http://www.nabble.com/NoClassDefFoundError%3A-org-apache-fop-messaging-MessageHandler-td18128468.html#a18128468 ... especially last note saying that src was wrong ... 1/ First of all, what I understood is that trunk is currently corrupt, since the Sjur Moshagen conflict resolution mistake 2/ Anyway I try to change @src value from "org.apache.cocoon.blocks.fop.FOPNGSerializer" to "org.apache.cocoon.serialization.FOPSerializer" without great believing on myself about that ! Here are the steps og what I tried : 1/ Delete %FORREST_HOME%\build folder and %FORREST_HOME%\plugins\org.apache.forrest.plugin.output.pdf\build\ 2/ Check for forrest updates --> Ok no update ! :) 3/ Find a file talking about : src="org.apache.cocoon.blocks.fop.FOPNGSerializer" --> The only one I found was %FORREST_HOME%/plugins/org.apache.forrest.plugin.output.pdf/output.xmap 4/ Change @src value from "org.apache.cocoon.blocks.fop.FOPNGSerializer" to "org.apache.cocoon.serialization.FOPSerializer" 5/ Rebuild forrest 6/ Delete, Create and go into a tmp folder (d:/tmp/) 7/ forrest seed (Successful) 8/ forrest war (Successful) 9/ Stop tomcat 6 10/ Copy (and replace) my-projet.war into %HOME_TOMCAT%\webapps\ 11/ Start tomcat6 OK this time that works I can see my website ... BUT ... 12/ I click on PDF button and i get this error : Etat HTTP 500 - type Rapport d'exception exception javax.servlet.ServletException: main cause java.lang.NoClassDefFoundError: Could not initialize class org.apache.cocoon.serialization.FOPSerializer sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) java.lang.reflect.Constructor.newInstance(Constructor.java:513) java.lang.Class.newInstance0(Class.java:355) java.lang.Class.newInstance(Class.java:308) org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:195) org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.newPoolable(InstrumentedResourceLimitingPool.java:655) org.apache.avalon.excalibur.pool.InstrumentedResourceLimitingPool.get(InstrumentedResourceLimitingPool.java:371) org.apache.avalon.excalibur.component.PoolableComponentHandler.doGet(PoolableComponentHandler.java:198) org.apache.avalon.excalibur.component.ComponentHandler.get(ComponentHandler.java:381) org.apache.avalon.excalibur.component.ExcaliburComponentSelector.select(ExcaliburComponentSelector.java:215) org.apache.cocoon.components.ExtendedComponentSelector.select(ExtendedComponentSelector.java:268) org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.setSerializer(AbstractProcessingPipeline.java:311) org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.setSerializer(AbstractCachingProcessingPipeline.java:171) org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:103) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:131) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:139) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235) org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177) org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235) org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177) org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:98) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235) org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177) org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) org.apache.cocoon.Cocoon.process(Cocoon.java:699) org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1154) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) For information here is the core.log output: WARN (2008-12-05) 18:52.30:800 [core.language.java] (Unknown-URI) Unknown-Thread/JavaLanguage: Attempted to retrieve directory listing of non-directory C:\WINDOWS\Sun\Java\lib\ext WARN (2008-12-05) 18:54.34:822 [core.modules.mapper.lm] (/my-project/images/group.png) http-8080-1/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/group.svg' is not a valid Source URL WARN (2008-12-05) 18:54.34:822 [core.modules.mapper.lm] (/my-project/images/group.png) http-8080-1/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/group.svg' is not a valid Source URL WARN (2008-12-05) 18:54.34:822 [core.modules.mapper.lm] (/my-project/images/project.png) http-8080-2/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/project.svg' is not a valid Source URL WARN (2008-12-05) 18:54.34:838 [core.modules.mapper.lm] (/my-project/images/project.png) http-8080-2/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/project.svg' is not a valid Source URL WARN (2008-12-05) 18:55.15:861 [core.modules.mapper.lm] (/my-project/samples-b/images/project-logo.png) http-8080-1/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/samples-b/images/project-logo.png' is not a valid Source URL WARN (2008-12-05) 18:55.15:861 [core.modules.mapper.lm] (/my-project/samples-b/images/project-logo.png) http-8080-1/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/samples-b/images/project-logo.png' is not a valid Source URL WARN (2008-12-05) 18:55.15:876 [core.modules.mapper.lm] (/my-project/samples-b/images/icon.png) http-8080-2/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/samples-b/images/icon.png' is not a valid Source URL WARN (2008-12-05) 18:55.15:892 [core.modules.mapper.lm] (/my-project/samples-b/images/icon.png) http-8080-2/SourceExistsSelector: Selector URL 'context:/\/project/src/documentation/content/../resources/images/samples-b/images/icon.png' is not a valid Source URL So I'm wondering whether someone from forrest team could test this by his own, and tell me that he has the same problem :) Thanks to all for your great work, and good luck guys for that :) ... Hope my post helps ! PS: This post comes with this JIRA : https://issues.apache.org/jira/browse/FOR-1133 and this discussion http://www.nabble.com/PDF-not-working-correctly-in-deployed-WAR-file-on-Tomcat-td15295911i20.html My final conclusion (About all that discusions) is that it's not really possible (at this time) to make forrest fully work with Tomcat 6.0.18 packaged in a War archive , that means that you should specify on Forrest site that forrest 0.8 and forrest 0.9-dev isn't working on last Tomcat Release (tomcat6) .
          Hide
          Antoine ROBERT added a comment -
          If you want my opinion about this issue, it could come from the webapp.xml file

          From line 102 in Trunk we have :

          <!-- Copy custom plugin jars -->
              <for list="${project.required.plugins}" param="name">
                <sequential>
                 <echo message="DEBUG : Copy de ${forrest.plugins-dir}/lib/@{name}.jar" />
                  <copy file="${forrest.plugins-dir}/lib/@{name}.jar"
          todir="${project.webapp}/WEB-INF/lib"
          failonerror="false"/>
                </sequential>
              </for>

          My DEBUG echo message write :
          DEBUG : Copy de D:\forrest\apache-forrest-0.9-dev\build\plugins/lib/org.apache.forrest.plugin.output.pdf.jar

          This file doesn't exist in forrest trunk :)

          But I think what you initially wanted was to copy %{forrest.plugins-dir}/lib to ${project.webapp}/WEB-INF/lib since the famous class "org.apache.cocoon.blocks.fop.FOPNGSerializer" is in the jar : "cocoon-fop-ng-impl-special-SNAPSHOT.jar" which you put in %{forrest.plugins-dir}/lib

          So I would have replace above code to
          <copy todir="${project.webapp}/WEB-INF/lib">
                <fileset dir="${forrest.plugins-dir}/lib">
                  <include name="*jar"/>
                </fileset>
              </copy>

          I test that, and that works !!!
          So the workaround for all of this issue, is to replace

          <for list="${project.required.plugins}" param="name">
                <sequential>
                 <echo message="DEBUG : Copy de ${forrest.plugins-dir}/lib/@{name}.jar" />
                  <copy file="${forrest.plugins-dir}/lib/@{name}.jar"
          todir="${project.webapp}/WEB-INF/lib"
          failonerror="false"/>
                </sequential>
              </for>

          by

          <copy todir="${project.webapp}/WEB-INF/lib">
                <fileset dir="${forrest.plugins-dir}/lib">
                  <include name="*jar"/>
                </fileset>
              </copy>

          into webapp.xml file (No need to rebuild forrest)

          Could you check that with developpers ? It's a workaround, but i'm not sure it's the best solution ...
          Thanks
          Show
          Antoine ROBERT added a comment - If you want my opinion about this issue, it could come from the webapp.xml file From line 102 in Trunk we have : <!-- Copy custom plugin jars -->     <for list="${project.required.plugins}" param="name">       <sequential>        <echo message="DEBUG : Copy de ${forrest.plugins-dir}/lib/@{name}.jar" />         <copy file="${forrest.plugins-dir}/lib/@{name}.jar" todir="${project.webapp}/WEB-INF/lib" failonerror="false"/>       </sequential>     </for> My DEBUG echo message write : DEBUG : Copy de D:\forrest\apache-forrest-0.9-dev\build\plugins/lib/org.apache.forrest.plugin.output.pdf.jar This file doesn't exist in forrest trunk :) But I think what you initially wanted was to copy %{forrest.plugins-dir}/lib to ${project.webapp}/WEB-INF/lib since the famous class "org.apache.cocoon.blocks.fop.FOPNGSerializer" is in the jar : "cocoon-fop-ng-impl-special-SNAPSHOT.jar" which you put in %{forrest.plugins-dir}/lib So I would have replace above code to <copy todir="${project.webapp}/WEB-INF/lib">       <fileset dir="${forrest.plugins-dir}/lib">         <include name="*jar"/>       </fileset>     </copy> I test that, and that works !!! So the workaround for all of this issue, is to replace <for list="${project.required.plugins}" param="name">       <sequential>        <echo message="DEBUG : Copy de ${forrest.plugins-dir}/lib/@{name}.jar" />         <copy file="${forrest.plugins-dir}/lib/@{name}.jar" todir="${project.webapp}/WEB-INF/lib" failonerror="false"/>       </sequential>     </for> by <copy todir="${project.webapp}/WEB-INF/lib">       <fileset dir="${forrest.plugins-dir}/lib">         <include name="*jar"/>       </fileset>     </copy> into webapp.xml file (No need to rebuild forrest) Could you check that with developpers ? It's a workaround, but i'm not sure it's the best solution ... Thanks
          Hide
          David Crossley added a comment -
          Thanks Antoine. I reckon that you have found the problem. It is a general problem for all plugins that provide supporting jars. I did some testing:

          Added the following plugins to "project.required.plugins" in my test project's forrest.properties file:

          org.apache.forrest.plugin.input.dtdx
           This one provides some supporting jar files in its lib directory. It does not provide any java code of its own. Similar to the PDF plugin.

          org.apache.forrest.plugin.input.PhotoGallery
           This one does not provide any supporting jars. However it does have some Java code of its own.

          Doing 'forrest war' only copies the built jar from "PhotoGallery", but not the supporting jars from "dtdx".

          You said:
          > My DEBUG echo message write :
          > DEBUG : Copy de D:\forrest\apache-forrest-0.9-dev\build\plugins/lib/org.apache.forrest.plugin.output.pdf.jar
          >
          > This file doesn't exist in forrest trunk :)

          Yes, because there is no java code in that plugin. Our Ant target needs to be smarter. Your patch fixes that and more.

          I searched via Forrestbar and found this in the Issue Tracker:
           FOR-989 forrest war - does not copy plugin jars to WEB-INF/lib directory
          It is somewhat related, but it is exactly at the time of preparing the 0.8 release, showing that we found the issue but only addressed part of it.

          Forrest is a small project and we need more developers like you, that use different parts of it and take the time to investigate an issue.
          Show
          David Crossley added a comment - Thanks Antoine. I reckon that you have found the problem. It is a general problem for all plugins that provide supporting jars. I did some testing: Added the following plugins to "project.required.plugins" in my test project's forrest.properties file: org.apache.forrest.plugin.input.dtdx  This one provides some supporting jar files in its lib directory. It does not provide any java code of its own. Similar to the PDF plugin. org.apache.forrest.plugin.input.PhotoGallery  This one does not provide any supporting jars. However it does have some Java code of its own. Doing 'forrest war' only copies the built jar from "PhotoGallery", but not the supporting jars from "dtdx". You said: > My DEBUG echo message write : > DEBUG : Copy de D:\forrest\apache-forrest-0.9-dev\build\plugins/lib/org.apache.forrest.plugin.output.pdf.jar > > This file doesn't exist in forrest trunk :) Yes, because there is no java code in that plugin. Our Ant target needs to be smarter. Your patch fixes that and more. I searched via Forrestbar and found this in the Issue Tracker:   FOR-989 forrest war - does not copy plugin jars to WEB-INF/lib directory It is somewhat related, but it is exactly at the time of preparing the 0.8 release, showing that we found the issue but only addressed part of it. Forrest is a small project and we need more developers like you, that use different parts of it and take the time to investigate an issue.
          Hide
          David Crossley added a comment -
          Changed the issue subject, as this applies to all plugins that provide supporting jars
          Show
          David Crossley added a comment - Changed the issue subject, as this applies to all plugins that provide supporting jars
          Hide
          David Crossley added a comment -
          The workaround suggested by Antoine will do it. However that would include all jars, including those not used by the project that is being built.

          Perhaps use the same '<for list="${project.required.plugins}...' that we do currently, but also get the supporting jars directly from the plugin's source tree. However, remember that in a released version of Forrest, those sources are not local but are downloaded to the $FORREST_HOME/build directories.

          In the meantime, perhaps do a temporary fix to use the same '<for list="${project.required.plugins}...' that we do currently, but also include all jars whose name does not begin with "org.apache.forrest.plugin".
          Show
          David Crossley added a comment - The workaround suggested by Antoine will do it. However that would include all jars, including those not used by the project that is being built. Perhaps use the same '<for list="${project.required.plugins}...' that we do currently, but also get the supporting jars directly from the plugin's source tree. However, remember that in a released version of Forrest, those sources are not local but are downloaded to the $FORREST_HOME/build directories. In the meantime, perhaps do a temporary fix to use the same '<for list="${project.required.plugins}...' that we do currently, but also include all jars whose name does not begin with "org.apache.forrest.plugin".
          Hide
          Thorsten Scherler added a comment -
          Commit de la revisión 739234.

          FOR-1074 Using the war ant task to include the plugin libs
          Show
          Thorsten Scherler added a comment - Commit de la revisión 739234. FOR-1074 Using the war ant task to include the plugin libs

            People

            • Assignee:
              Unassigned
              Reporter:
              Thorsten Scherler
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development