1。Error attempting to install cocoon - Scheduler with name Cocoon already exists
解决办法1
如果不需要cron-和scratchpad-block,在build之前把它们注释掉,一般情况下这个错误是因为这两个模块引起的。
在blocks.properties中去掉下面两个的注释
include.block.cron=false
include.block.scratchpad=false
解决办法2
This is only the effect of a previous error.
Cocoon has the following web.xml configuration:
<load-on-startup>1</load-on-startup>
This means that Tomcat will load Cocoon at Tomcat start (as opposed to first
access of CocoonServlet).
If CocoonServlet throws an exception during init, Tomcat will consider the
servlet as uninitialized and will try to re-init on first access.
Ie one "half-init + break" + another "half-init + break", which gives you
troubles with anything loaded statically in the JVM during the part of the
init that actually works (eg configuring the Cron block and Quartz
scheduler).
You should search for the previous error in the Tomcat and/or Cocoon logs
and try to get help on the Cocoon user's list (don't focus on the
"cannot create a quartz scheduler", during testing it might also be
easier to set load-on-startup=0 in Cocoon's web.xml).
You can use Tomcat's Manager application [1] to check the init-status
and if Tomcat considers the servlet to be loaded.
2。解决xerces版本冲突或者
java.lang.NoSuchMethodError: org.apache.xerces.xni.grammars.XSGrammar.toXSModel()Lorg/apache/xerces/xs/XSModel
1. Remove tomcat/common/lib/xerces.jar file.
2. Copy following libraries from the cocoon/lib/core directory to the tomcat/common/lib directory:
* xalan-XXX.jar
* xercesImpl-XXX.jar
* xml-apis.jar
3. Copy cocoon/lib/optional/batik-all-XXX.jar to the tomcat/common/lib directory.
4. Edit extra-classpath parameter in the cocoon/src/webapp/WEB-INF/web.xml file:
For UNIX:
<init-param>
<param-name>extra-classpath</param-name>
<param-value>/tomcat/common/lib/xalan-XXX.jar:
/tomcat/common/lib/xercesImpl-XXX.jar:
/tomcat/common/lib/xml-apis.jar:
/tomcat/common/lib/batik-all-XXX.jar</param-value>
</init-param>
For Windows:
<init-param>
<param-name>extra-classpath</param-name>
<param-value>C:\tomcat\common\lib\xalan-XXX.jar;
C:\tomcat\common\lib\xercesImpl-XXX.jar;
C:\tomcat\common\lib\xml-apis.jar;
C:\tomcat\common\lib\batik-all-XXX.jar</param-value>
</init-param>