前回に引き続きトラブルシューティングのボツ記事を。
-
- -
○web.xmlの解析エラーその1
設定ファイルのエラーは、比較的エラーメッセージから解決しやすいですが、ちょっと難しいものもあります。
2007-07-24 17:37:42,341 ERROR [org.apache.catalina.startup.ContextConfig] アプリケーションのweb.xml中の解析エラーです java.lang.IllegalArgumentException: サーブレットマッピングは未知のサーブレット名 Seam Resource Servlet を指定しています at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2726) at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2752) at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1061) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562) at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:369) at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1062) == 省略 == at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225) 2007-07-24 17:37:42,559 ERROR [org.apache.catalina.startup.ContextConfig] 25行の23列目で発生しました 2007-07-24 17:37:42,575 ERROR [org.apache.catalina.startup.ContextConfig] 前のエラーのためにこのアプリケーションは利用できないようにマークします 2007-07-24 17:37:42,575 ERROR [org.apache.catalina.core.StandardContext] Error getConfigured 2007-07-24 17:37:42,575 ERROR [org.apache.catalina.core.StandardContext] 以前のエラーのためにコンテキストの起動が失敗しました [/seam-booking]
このエラーメッセージなら、問題の行も判明しているためweb.xmlをチェックします。
<servlet-mapping> <servlet-name>Seam Resource Servlet</servlet-name> <url-pattern>/seam/resource/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>Seam Resource Servlet</servlet-name> <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class> </servlet>
通常ならtypoを疑うところですが、今回は正常に設定されているようです。さて・・・?
実はこれ、
Servlet2.3以前ではDTDでこの順番は規定されていました。しかし、Servlet2.4以降ではweb.xmlはDTDではなくXML Schemaによって定義されるようになっており、
-
-
- -
-