J2EE Deployment Descriptor

Apache Geronimo 1.1.1でのWebアプリケーションのデプロイは、XMLの検証の問題が解決したのでこれで普通にデプロイできるだろうと思ったのだが、どうにも上手くいかなくて困っている。

一般的なWebアプリケーション定義をweb.xmlに書く順に並べると

となるが、Apache Geronimoでこれらの要素を含む一般的なwebアプリケーションをデプロイコマンドで配置しようとすると例外を吐いてしまい、デプロイできないのだ。

    Error: Operation failed: start of default/webapp/1.0/war failed

    	Unknown start exception

    	Configuration default/webapp/1.0/war failed to start due to the
    following reasons:

      The service
    J2EEApplication=null,j2eeType=WebModule,name=default/webapp/1.0/war
    did not start because the doStart method threw an exception. 

    java.lang.NullPointerException
    	at java.util.Hashtable.put(Hashtable.java:394)
    	at org.apache.naming.resources.DirContextURLStreamHandler.bind(DirContextURLStreamHandler.java:233)
    	at org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:443)
    	at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:981)
    	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267)
    	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
    	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
    	at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:540)
    	at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
    	at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:374)
    : 以下スタックトレース続く

仕方が無いので、昨日同様にweb.xmlをコメントアウトしながら様子を見ると、デプロイが正常に完了するのは最初の要素を書いた所までであることが判った。その後の要素を書いた時点で上の例外が発生するのである。
そもそも今まで他のアプリケーションサーバで動作していたものをポーティングしてきただけなのだが、全く原因が判らない。クラスパスが見つからないとか、ライブラリィのバージョンのコンフリクトであればよくあることなので対処のしようもあるのだが、これはそういうエラーとは全く別な所で発生しているように見える。 少なくともデプロイが完了しないとテストすらできないし。なんだかな〜。