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>
在安装Cocoon-2.1.16时,可能会遇到'Scheduler with name Cocoon already exists'和'java.lang.NoSuchMethodError: org.apache.xerces.xni.grammars.XSGrammar.toXSModel()'的错误。解决Scheduler冲突可通过注释或修改Cocoon的web.xml;解决Xerces版本冲突则需要移除Tomcat的xerces.jar并添加Cocoon的相关库到Tomcat的common/lib目录。
172

被折叠的 条评论
为什么被折叠?



