apache > cocoon

Installation FAQs

Why doesn't anything happen when I access 'http://localhost/cocoon/'?

You might want to check a few things.

  • Is your server listening to port 80? If not, you have to call the right port, for example, 'http://localhost:8080/cocoon/'. Note that Apache Tomcat binds by default to port 8080, NOT 80.
  • Did your servlet engine install the WAR file? You can check this by making sure the WAR file was unpacked or connecting to the administration tools of your servlet engine.
  • If you didn't restart the servlet engine, do it.
  • In Tomcat 4, did you change CATALINA_BASE to a different value than the default CATALINA_HOME? If so, copy the war files to CATALINA_BASE/webapps or set CATALINA_BASE=CATALINA_HOME. Then, restart Tomcat.

Why does Cocoon take so long to start?

Cocoon compiles sitemaps into java classes to increase runtime performance. This occurs at startup only when the sitemap file is modified. For all other requests, the compiled sitemap is executed.

Why is cocoon.war so big?

Cocoon.war includes all the libraries it requires to run. This includes several megabytes of Java classes. It also includes the JDK javac compiler which must be present in the war file to allow page compilation without classloading problems.

I get a java.lang.VerifyError when accessing 'http://localhost/cocoon/'. What's wrong?

Cocoon requires a JAXP 1.1 compliant parser. Some servlet engines (like Tomcat 3.2.1) use older XML parsers. Replace the XML parser with a more recent one (e.g. the Xerces 1.3.0 or newer).

For Tomcat 3.2.1, remove the jaxp.jar and the parser.jar from the tomcat/lib directory. Copy the xerces.jar to this directory and rename it to parser.jar. Before you restart Tomcat, make sure to delete the tomcat/work directory.

Cocoon still won't start, this time I get javax.xml.transform.TransformerConfigurationException: Namespace not supported by SAXParser in the Cocoon log file.

This is a classloader issue with Tomcat and some other servlet engines. Basically it means that the Xerces library included with Cocoon is not being found. The solution is to place the Xerces library first in the classpath.

Cocoon won't start, and I get a "java.lang.NoSuchMethodError: org.apache.log.LogKit: method createLogger(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/log/Logger; not found" in my Servlet Container's log.

You have an old set of libraries installed. Copy the correct libraries from the distribution.

Even better, build Cocoon with "build webapp". This build creates a complete WAR file with all necessary libraries included.

Windows 95/98 tells me that I don't have enough environment-memory.

This is another neat feature from DOS- times. To increase environment-space add the following line to your config.sys (and restart):

shell=c:\command.com /E:4096 /P

I'm still stuck, what do I do?

Contact the Cocoon Users mail list (users@cocoon.apache.org). Please do not contact developers directly for help. Cocoon users are generally more responsive because they tend to have more experience than developers troubleshooting installation problems.

Cocoon has several log files which are stored in the context where you installed Cocoon. These logs are located in '{cocoon}/WEB-INF/logs/' where {cocoon} is the context where Cocoon is installed. The information contained in that file will help others help you.