[
https://issues.apache.org/jira/browse/FOR-1074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655120#action_12655120
]
David Crossley commented on FOR-1074:
-------------------------------------
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.
> War is failing because it cannot find the FOPNGSerializer
> ---------------------------------------------------------
>
> Key: FOR-1074
> URL: https://issues.apache.org/jira/browse/FOR-1074
> Project: Forrest
> Issue Type: Bug
> Components: Launch servlet WAR, Plugin: output.pdf
> Affects Versions: 0.9-dev
> Reporter: Thorsten Scherler
> Priority: Blocker
>
> 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
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.