- PR -

Cocoonのセットアップについて

1
投稿者投稿内容
TiKi@
会議室デビュー日: 2001/11/07
投稿数: 13
投稿日時: 2002-04-04 17:16
現在、「XMLサーバ/Cocoon自由自在!第1回 Cocoonをセットアップしよう」を見ながら、手順に従ってCocoonのセットアップをしています。
一応、一通りのものをインストールしてTomcatよりCocoonを実行したときに
「ラッパがサーブレットクラス org.apache.cocoon.Cocoon またはそれが依存するクラスを見つけることができません」と
メッセージが表示されページが表示されないんです。
何かしらのサーブレットの関連づけがされてないのかとは思うのですが、どのような対処をとったらよろしいのでしょうか?

【環境】
J2SE version 1.4.0
Tomcat 4.0 バイナリ版
Xerces2 Java Parser 2.0.1 バイナリ版
Xalan-Java 2.3.1 バイナリ版
Cocoon 1.8.2 バイナリ版

【/etc/bashrc に設定されている環境変数】
export JAVA_HOME=/usr/java/j2sdk1.4.0
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=/usr/java/j2sdk1.4.0/lib/tools.jar:/usr/local/xml/xerces-2_0_1/tools/xerces.jar:/usr/local/xml/xerces-2_0_1/xercesSamples.jar:/usr/local/xml/xalan-j_2_3_1/bin/xalan.jar:/usr/local/jakarta-tomcat-4.0.3/common/lib/servlet.jar:/usr/local/xml/cocoon-1.8.2/bin/cocoon.jar:/usr/local/xml/cocoon-1.8.2/lib/xerces_1_2.jar:/usr/local/xml/cocoon-1.8.2/lib/xalan_1_2_D02.jar:/usr/local/xml/cocoon-1.8.2/lib/fop_0_15_0.jar:/usr/local/xml/cocoon-1.8.2/lib/w3c.jar:/usr/local/xml/cocoon-1.8.2/lib/turbine-pool.jar:.
export CATALINA_BASE=/usr/local/jakarta-tomcat-4.0.3
export CATALINA_HOME=/usr/local/jakarta-tomcat-4.0.3

alias DOMCount='java dom.DOMCount'
alias DOMWriter='java dom.DOMWriter -e EUC-JP'
alias SAXCount='java sax.SAXCount'
alias SAXWriter='java sax.SAXWriter -e EUC-JP'
alias TreeViewer='java ui.TreeViewer'
alias xalan='java org.apache.xalan.xslt.Process'





■これがCocoonでのエラーメッセージです。
type Exception report

message Internal Server Error

description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request

exception

javax.servlet.ServletException: ラッパがサーブレットクラス org.apache.cocoon.Cocoon またはそれが依存するクラスを見つけることができません
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:871)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:653)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:536)


root cause

java.lang.ClassNotFoundException: org.apache.cocoon.Cocoon
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1394)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1243)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:865)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:653)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:536)

おがわ
大ベテラン
会議室デビュー日: 2001/08/01
投稿数: 199
お住まい・勤務地: 千葉県
投稿日時: 2002-04-04 18:21
> 「ラッパがサーブレットクラス org.apache.cocoon.Cocoon
> またはそれが依存するクラスを見つけることができません」と
> メッセージが表示されページが表示されないんです。
web.xml に、org.apache.cocoon.Cocoonサーブレットを登録していないからでしょう。
Cocoonのインストール・マニュアルを、もう一度読みましょう。

[おまけ]
確認したわけではありませんが、以下の環境で Cocoon 1.8.2 は動作するでしょうか。
おそらく、Xerces や Xalan に関しては、
Cocoon付属のランタイム・バージョンでないと正常に動かないと思います。
> 【環境】
> J2SE version 1.4.0
> Tomcat 4.0 バイナリ版
> Xerces2 Java Parser 2.0.1 バイナリ版
> Xalan-Java 2.3.1 バイナリ版
TiKi@
会議室デビュー日: 2001/11/07
投稿数: 13
投稿日時: 2002-04-04 19:39
謎の白覆面さんありがとうございます。
XercesとXalanは、Cocoon付属の
・xerces_1_2.jar
・xalan_1_2_D02.jar
をCLASSPATHにつけてみました。

> web.xml に、org.apache.cocoon.Cocoonサーブレットを登録していないからでしょう。

Cocoonのインストール・マニュアルを見てみましたが、org.apache.cocoon.Cocoonに関する
記述はありませんでした。
web.xmlは「XMLサーバ/Cocoon自由自在!第1回 Cocoonをセットアップしよう」に書かれていた設定(下記のような)では動かないのでしょうか?


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>
cocoon
</servlet-name>
<servlet-class>
org.apache.cocoon.Cocoon
</servlet-class>
<init-param>
<param-name>properties</param-name>
<param-value>/WEB-INF/cocoon.properties</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>
cocoon
</servlet-name>
<url-pattern>
*.xml
</url-pattern>
</servlet-mapping>
</web-app>
TiKi@
会議室デビュー日: 2001/11/07
投稿数: 13
投稿日時: 2002-04-05 12:43
いろいろな情報を集めて、TomcatのlibディレクトリにCocoonのディレクトリにある
cocoon.jar
fop_0_15_0.jar
xerces_1_2.jar
xalan_1_2_D02.jar
をコピーしてみました。
若干、変化がありCocoonからランタイムエラーのメッセージが出されるようになりました。
メッセージは下記のようなものなんですが進展したものだと思っています。
Cocoonの設定だとは思うのですが、あとはどのあたりを修正したらいいのかご存じの方、よろしくお願いします。

Publishing Engine could not be initialized.

java.lang.RuntimeException: Error loading logicsheet at resource://org/apache/cocoon/processor/xsp/library/java/util.xsl due to java.lang.Exception: Resource not found or retrieving error.
at org.apache.cocoon.processor.xsp.XSPProcessor.init(XSPProcessor.java:302)
at org.apache.cocoon.framework.Manager.create(Manager.java:109)
at org.apache.cocoon.framework.Router.init(Router.java:80)
at org.apache.cocoon.framework.Manager.create(Manager.java:109)
at org.apache.cocoon.Engine.<init>(Engine.java:179)
at org.apache.cocoon.Engine.getInstance(Engine.java:232)
at org.apache.cocoon.Cocoon.init(Cocoon.java:157)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:916)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:653)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke

〜〜〜〜〜



[ メッセージ編集済み 編集者: TiKi@ 編集日時 2002-04-05 12:44 ]

[ メッセージ編集済み 編集者: TiKi@ 編集日時 2002-04-05 12:45 ]
ジャイアン
会議室デビュー日: 2002/11/01
投稿数: 1
お住まい・勤務地: 東京都杉並区
投稿日時: 2002-11-01 18:49
 私も、XMLを利用するために、同じように「XMLサーバ/Cocoon自由自在!
第1回 Cocoonをセットアップしよう」を見ながら、
手順に従ってCocoonのセットアップをしています。
 しかし、エラーメッセージが表示されてしまいます。

いろいろ、さがしたところ、同様な現象のような気がします。
 (「Publishing Engine could not be initialized.」が表示される。)
下記エラーの対処方法を教えていただけませんか?
<<エラー内容>>
Publishing Engine could not be initialized.
java.lang.RuntimeException: Error creating org.apache.cocoon.parser.
XercesParser: make sure the needed classes can be found
in the classpath (org/apache/xerces/framework/XMLParser)
 at org.apache.cocoon.framework.Manager.create(Manager.java:114)
 at org.apache.cocoon.Engine.(Engine.java:133)
 at org.apache.cocoon.Engine.getInstance(Engine.java:202)
 at org.apache.cocoon.Cocoon.init(Cocoon.java:141)
 at org.apache.tomcat.core.ServletWrapper.doInit
(ServletWrapper.java:317)
 at org.apache.tomcat.core.Handler.init(Handler.java:215)
 at org.apache.tomcat.core.ServletWrapper.init
(ServletWrapper.java:296)
 at org.apache.tomcat.core.Handler.service(Handler.java:254)
 at org.apache.tomcat.core.ServletWrapper.service
(ServletWrapper.java:372)
 at org.apache.tomcat.core.ContextManager.internalService
(ContextManager.java:806)
 at org.apache.tomcat.core.ContextManager.service
(ContextManager.java:752)
 at org.apache.tomcat.service.http.HttpConnectionHandler.
processConnection(HttpConnectionHandler.java:213)
 at org.apache.tomcat.service.TcpWorkerThread.runIt
(PoolTcpEndpoint.java, Compiled Code)
 at org.apache.tomcat.util.ThreadPool$ControlRunnable.run
(ThreadPool.java, Compiled Code)
at java.lang.Thread.run(Thread.java:479)
1

スキルアップ/キャリアアップ(JOB@IT)