Hi, 1. I have finally managed to generate a *static* version of a web project by invoking Cocoon-2 from the *command line*. And it only took 4 days ;-)
2. My final problem was of the "java.sql.SQLException: no suitable driver" variety, mentioned several times in posts to this mailing list. My pages were served without error by Tomcat but crashed when generated from the command line. Posts dealing with this problem focused on the web.xml and cocoon.xconf configuration files - mine were clearly correct. 3. This post from Conrad Wood pointed me to the answer: http://www.mail-archive.com/cocoon-users@xml.apache.org/msg07701.html 4. I tested my theory by adding the following lines to the org.spache.cocoon.Main.java file, rebuilding the cocoon.war file and updating my cocoon webapp within my tomcat installation: public class Main { static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception ex) { System.err.println("Unable to load driver."); } } ..//... 5. It would seem that the web.xml files is not being processed by the command line tool. [I am using the -c option to set my context dir as %CATALINA_HOME%/webapps/cocoon (contains WEB-INF folder and sitemap). Am I doing something stupid or is this a genuine bug? Richard Windows XP Tomcat4.1.18 Cocoon-2.1-dev ----------------------------------------- Relevant Portion of web.xml ----------------------------------------- <init-param> <param-name>load-class</param-name> <param-value> com.mysql.jdbc.Driver </param-value> </init-param> ----------------------------------------- Relevant Portion of web.xml ----------------------------------------- <datasources> <jdbc name="mysqldb"> <pool-controller max="10" min="5"/> <dburl>jdbc:mysql://localhost:3306/lifeproj</dburl> <user>root</user> <password></password> </jdbc> </datasources> ----------------------------------------- Relevant Portion of myxsp.xsp ----------------------------------------- <esql:connection> <esql:pool>lifeprojdb</esql:pool> <!--esql:dburl>jdbc:mysql://localhost:3306/lifeproj</esql:dburl> <esql:driver>com.mysql.jdbc.Driver</esql:driver--> <esql:execute-query> <esql:query> ---------------------------------------------------------------------------- ---------------- My .bat file (modified version of http://wiki.cocoondev.org/Wiki.jsp?page=CommandLine) ---------------------------------------------------------------------------- ----------------- @echo off cls :: ------------------------------------------------------------------------- ---- :: run.bat - Win32 Run Script for Apache Cocoon :: :: $Id: run.bat,v 1.3 2002/03/06 15:44:57 nicolaken Exp $ :: ------------------------------------------------------------------------- ---- :: ----- Verify and Set Required Environment Variables ------------------------- if not "%JAVA_HOME%" == "" goto gotJavaHome echo You must set JAVA_HOME to point at your Java Development Kit installation goto cleanup :gotJavaHome :: ----- Verify and Set Tomcat Location (UV 10/1/03) --------------------------- if not "%TOMCAT_HOME%" == "" goto gotTomcatHome echo You must set TOMCAT_HOME to point to your Tomcat installation goto cleanup :gotTomcatHome :: ----- Verify and Set Required Environment Variables ------------------------- if not "%COCOON_LIB%" == "" goto gotCocoonLib set COCOON_LIB=.\WEB-INF\lib :gotCocoonLib if not "%COCOON_WORK%" == "" goto gotCocoonWork set COCOON_WORK=.\work :gotCocoonWork :: ----- Set Up The Runtime Classpath ------------------------------------------ set CP=%JAVA_HOME%\lib\tools.jar;%COCOON_WORK% call appendcp.bat %COCOON_LIB%\avalon-framework-4.1.3.jar call appendcp.bat %COCOON_LIB%\batik-all-1.5b2.jar call appendcp.bat %COCOON_LIB%\chaperon-20030208.jar call appendcp.bat %COCOON_LIB%\cocoon-2.1-dev.jar call appendcp.bat %COCOON_LIB%\cocoon-authentication-fw-block.jar call appendcp.bat %COCOON_LIB%\cocoon-bsf-block.jar call appendcp.bat %COCOON_LIB%\cocoon-batik-block.jar call appendcp.bat %COCOON_LIB%\cocoon-chaperon-block.jar call appendcp.bat %COCOON_LIB%\cocoon-databases-block.jar call appendcp.bat %COCOON_LIB%\cocoon-fop-block.jar call appendcp.bat %COCOON_LIB%\cocoon-hsqldb-block.jar call appendcp.bat %COCOON_LIB%\cocoon-html-block.jar call appendcp.bat %COCOON_LIB%\cocoon-jfor-block.jar call appendcp.bat %COCOON_LIB%\cocoon-itext-block.jar call appendcp.bat %COCOON_LIB%\cocoon-jsp-block.jar ::call appendcp.bat %COCOON_LIB%\cocoon-linkrewriter-block.jar call appendcp.bat %COCOON_LIB%\cocoon-lucene-block.jar call appendcp.bat %COCOON_LIB%\cocoon-naming-block.jar call appendcp.bat %COCOON_LIB%\cocoon-php-block.jar call appendcp.bat %COCOON_LIB%\cocoon-poi-block.jar call appendcp.bat %COCOON_LIB%\cocoon-portal-fw-block.jar call appendcp.bat %COCOON_LIB%\cocoon-profiler-block.jar call appendcp.bat %COCOON_LIB%\cocoon-proxy-block.jar call appendcp.bat %COCOON_LIB%\cocoon-python-block.jar call appendcp.bat %COCOON_LIB%\cocoon-samples-block.jar call appendcp.bat %COCOON_LIB%\cocoon-scratchpad.jar call appendcp.bat %COCOON_LIB%\cocoon-session-fw-block.jar call appendcp.bat %COCOON_LIB%\cocoon-slide-block.jar call appendcp.bat %COCOON_LIB%\cocoon-swf-block.jar call appendcp.bat %COCOON_LIB%\cocoon-velocity-block.jar call appendcp.bat %COCOON_LIB%\cocoon-web3-block.jar call appendcp.bat %COCOON_LIB%\commons-collections-2.1.jar call appendcp.bat %COCOON_LIB%\commons-discovery,jar call appendcp.bat %COCOON_LIB%\commons-httpclient-20030210.jar call appendcp.bat %COCOON_LIB%\commons-jxpath-1.0.jar call appendcp.bat %COCOON_LIB%\commons-logging-1.0.jar call appendcp.bat %COCOON_LIB%\cornerstone-20021213.jar call appendcp.bat %COCOON_LIB%\cornerstone-excalibur-thread-20021213.jar call appendcp.bat %COCOON_LIB%\cornerstone-excalibur-threadcontext-20021213.jar call appendcp.bat %COCOON_LIB%\excalibur-altrmi-common-20030116.jar call appendcp.bat %COCOON_LIB%\excalibur-altrmi-registry-20030116.jar call appendcp.bat %COCOON_LIB%\excalibur-altrmi-server-impl-20030116.jar call appendcp.bat %COCOON_LIB%\excalibur-altrmi-server-interfaces-20030116.jar call appendcp.bat %COCOON_LIB%\excalibur-cli-1.0.jar call appendcp.bat %COCOON_LIB%\excalibur-collections-20020820.jar call appendcp.bat %COCOON_LIB%\excalibur-component-20020916.jar call appendcp.bat %COCOON_LIB%\excalibur-concurrent-20020820.jar call appendcp.bat %COCOON_LIB%\excalibur-datasource-vm14-20021121.jar call appendcp.bat %COCOON_LIB%\excalibur-instrument-20021108.jar call appendcp.bat %COCOON_LIB%\excalibur-io-1.1.jar call appendcp.bat %COCOON_LIB%\excalibur-logger-20020820.jar call appendcp.bat %COCOON_LIB%\excalibur-monitor-20020820.jar call appendcp.bat %COCOON_LIB%\excalibur-pool-20020820.jar call appendcp.bat %COCOON_LIB%\excalibur-sourceresolve-20030130.jar call appendcp.bat %COCOON_LIB%\excalibur-store-20020820.jar call appendcp.bat %COCOON_LIB%\excalibur-util-1.0.jar call appendcp.bat %COCOON_LIB%\excalibur-xmlutil-20030130.jar call appendcp.bat %COCOON_LIB%\hsqldb-1.7.1.jar call appendcp.bat %COCOON_LIB%\Jisp2.0.1.jar call appendcp.bat %COCOON_LIB%\logkit-1.1.jar call appendcp.bat %COCOON_LIB%\mysql-connector-java-2.0.14-bin.jar call appendcp.bat %COCOON_LIB%\pizza-1.1.jar call appendcp.bat %COCOON_LIB%\slide-kernel-20020130.jar call appendcp.bat %COCOON_LIB%\resolver-20021114.jar call appendcp.bat %COCOON_LIB%\velocity-1.2.jar call appendcp.bat %COCOON_LIB%\xercesImpl-2.1.0.jar call appendcp.bat %COCOON_LIB%\xsltc-20030211.jar :: Removed because the classpath it generates is too long: rem for %%i in (WEB-INF\lib\*.jar) do call appendcp.bat %%i call appendcp.bat %TOMCAT_HOME%\common\lib\servlet.jar :: Required for Java 1.3 call appendcp.bat %TOMCAT_HOME%\common\lib\xml-apis.jar call appendcp.bat %TOMCAT_HOME%\common\lib\xercesImpl-2.1.0.jar call appendcp.bat %TOMCAT_HOME%\common\lib\xalan-2.4.1.jar ::call appendcp.bat %TOMCAT_HOME%\common\lib\batik-all-1.5b1.jar :: ----- Run Cocoon ------------------------------------------------------------ if "%OS%" == "Windows_NT" goto nt %JAVA_HOME%\bin\java.exe %COCOON_OPTS% -classpath %CP% org.apache.cocoon.Main %1 %2 %3 %4 %5 %6 %7 %8 %9 :nt %JAVA_HOME%\bin\java.exe %COCOON_OPTS% -classpath %CP% org.apache.cocoon.Main %* :: ----- Cleanup the environment ----------------------------------------------- :cleanup set CP= ---------------------------------------------------------------------------- ---------------- Command Line Instruction ---------------------------------------------------------------------------- ----------------- ::C:\ApplicationHome\jakarta-tomcat-4.1.18-LE-jdk14\webapps\cocoon>mybat.bat -c "C:\ApplicationHome\jakarta-tomcat-4.1.18-::LE-jdk14 \webapps\cocoon" -C WEB-INF/cocoon.xconf -u INFO -d out -b brokenLinks.txt myproject/homepage.html --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>