WebSphereのデプロイ失敗時のログがわかりにくい。。。。
今日ちょいハマってしまったこと。
結果的にはサーブレットマッピングの名前を間違えてしまってたんだけど、
↓こんな感じ(大文字小文字の違い)
<servlet> <servlet-name>hoge</servlet-name> <servlet-class>sample.HogeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hoge</servlet-name> <url-pattern>/hoge</url-pattern> </servlet-mapping>
WebSphereのアプリケーションが起動しないってな状況に陥っていました。
んで、起動時にWebSphereの吐いてたログがこんなん
A WSVR0217I: アプリケーション HogeEAR を停止します I SRVE0253I: [HogeEAR] [/HelpersSvr] [s2servlet]: 破棄が正常に行われました。 I SRVE0253I: [HogeEAR] [/HelpersSvr] [dwr-invoker]: 破棄が正常に行われました。 A WSVR0220I: アプリケーションが停止されました: HogeEAR A WSVR0200I: 次のアプリケーションを開始します: HogeEAR A WSVR0204I: アプリケーション: HogeEAR アプリケーションのビルド・レベル: 不明 E WSVR0101W: HogeEAR を開始中にエラーが発生しました O com.ibm.ws.exception.RuntimeError: java.lang.NullPointerException O at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:856) O at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:948) O at com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1478) O at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:3811) : : : at com.ibm.ws.wswebcontainer.webapp.WebAppConfigurationHelper.constructServletMappings(WebAppConfigurationHelper.java:405) at com.ibm.ws.wswebcontainer.webapp.WebAppConfigurationHelper.createConfiguration(WebAppConfigurationHelper.java:147) at com.ibm.ws.webcontainer.metadata.WebMetaDataFactory.createMetaData(WebMetaDataFactory.java:169) :
よ〜く見たら分かるやん!!って言われそうだけど、すんごく気づきにくかったんよ。
ちなみに同じ状況でのTomcat起動時エラー
2008/08/05 9:07:23 org.apache.catalina.startup.ContextConfig applicationWebConfig SEVERE: アプリケーションのweb.xmlファイル jndi:/localhost/ServletSample/WEB-INF/web.xml の解析エラーです java.lang.IllegalArgumentException: サーブレットマッピングは未知のサーブレット名 Hoge を指定しています : :
こっちは一目瞭然!!
WebSphereもこんくらい分かりやすくしてほしいもんです。。