水曜日 3 14, 2007

java.lang.ClassNotFoundException: org.apache.naming.factory.MailSessionFactor

最近、ちょこっと困ったことです。
tomcat 5.5.20 にて、struts 上のフォームから、
javamail を送信するプログラムを書いていたんですが、
tomcatの Resourceから javax.mail.Sessionを取得するときにExceptionが発生してしまいました。

javax.naming.NamingException: Could not create resource factory instance
 [Root exception is java.lang.ClassNotFoundException: org.apache.naming.factory.MailSessionFactory]
 at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:132)
 at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
 ....
 at javax.naming.InitialContext.lookup(InitialContext.java:392)
 ...

ほいでもって、MailSessionFactory が無いっていうので、
バグかなあ と 5.5.23 (最新)に入れ替えましたが、、、、ダメでした。
まさかとおもうけど、無いっていってるから無いのかと、、、、

jar tvf $CATALINA_HOME/common/lib/naming-factory.jar  |grep -i fact 
     0 Mon Mar 05 08:25:08 JST 2007 org/apache/naming/factory/
  6001 Mon Mar 05 08:25:06 JST 2007 org/apache/naming/factory/BeanFactory.class
  1122 Mon Mar 05 08:25:06 JST 2007 org/apache/naming/factory/Constants.class
  2938 Mon Mar 05 08:25:06 JST 2007 org/apache/naming/factory/EjbFactory.class
  1804 Mon Mar 05 08:25:06 JST 2007 org/apache/naming/factory/OpenEjbFactory.class
  2458 Mon Mar 05 08:25:06 JST 2007 org/apache/naming/factory/ResourceEnvFactory.class
  3213 Mon Mar 05 08:25:06 JST 2007 org/apache/naming/factory/ResourceFactory.class
  1650 Mon Mar 05 08:25:06 JST 2007 org/apache/naming/factory/ResourceLinkFactory.class
  2458 Mon Mar 05 08:25:06 JST 2007 org/apache/naming/factory/TransactionFactory.class
  1520 Mon Mar 05 08:25:06 JST 2007 org/apache/naming/java/javaURLContextFactory.class

やっぱ無い。
じゃあ、足せばいいのかと、、、
googleにて、検索したら、、、そのまんまのがご本山にありました。。。。。。
 http://issues.apache.org/bugzilla/show_bug.cgi?id=40668 

もうバグ登録されてるし、ネタにもなんないけど、まあせっかくなので、
 Patch for missing libraries from Tomcat 5.5.20 distibution 
から zip ファイルダウンロードして、
naming-factory.jar を作業ディレクトリにて jar xvf で展開、
おんなじとこに zipを展開
 jar cMvf $CATALINA_HOME/common/lib/naming-factory.jar .
で試してみたら、ちゃんとできました。

あー、オチがない。ごめんなさい。

Comments:

Post a Comment:
Comments are closed for this entry.