[Seasar-user:20015] Re: [mobylet] テンプレートにmayaaを使用するとjava.lang.ClassNotFoundException: org.mobylet.gae.taglibs.GaeAutoScaleImageTagが発生する
Shin Takeuchi
[E-MAIL ADDRESS DELETED]
2010年 7月 29日 (木) 15:30:54 JST
decoyさん
竹内(stakeuchi)です。
#またまた遅くなりました。。。
> という事はmayaa使用時のみ以前、存在していたクラスを参照しようとして
> 下記のようなエラーが発生していると推測したのですが如何でしょうか。
はい、その通りになります。
以前はGAEの場合とそうでない場合で
画像をオートスケールするためのtaglibを別々に用意していたのですが
これを共通化して<m:img>タグに統一したため
GAE用のtaglibが無くなりました。
が、ご指摘の例外は
クラスが無くなったにも関わらずtldファイルが残っていたため
紛らわしい状態になっていたように思います。
(あたかもカスタムタグがあるかのような状態)
対応としては少々微妙ですが
下位互換のため、一旦<gm:img>はカスタムタグとして残し
実態のクラスはmobylet-taglibsに入っている
org.mobylet.taglibs.impl.ImageTag
を呼び出すような形をしばらく残したいと思います。
本件は1.0.6リリースでの対応とさせてください。
よろしくお願い致します。
2010年7月24日12:35 <[E-MAIL ADDRESS DELETED]>:
> お世話になります。
> decoyです。
>
> mobylet1.0.5でテンプレートにmayaaを使用すると下記のようなエラーが発生します。(jspでは発生しません)
> エラーの内容を見る限り、GaeAutoScaleImageTagというクラスがないとの事ですが
> 確かに下記のjarの中に上記のようなクラスはありませんでした。
>
> mobylet-charset-1.0.5.jar
> mobylet-core-1.0.5.jar
> mobylet-taglibs-1.0.5.jar
> mobylet-mail-1.0.5.jar
> mobylet-s2extension-1.0.5.jar
> mobylet-gaeextension-1.0.5.jar
>
> ですが、下記のページを見ると存在した為、以前は存在していたという事でしょうか?
> http://www.seasar.org/source/browse/mobylet?view=revision&sortdir=down&revision=180
>
> という事はmayaa使用時のみ以前、存在していたクラスを参照しようとして
> 下記のようなエラーが発生していると推測したのですが如何でしょうか。
>
>
> INFO 2010-07-24 10:59:43,390 [ajp-8009-2] prepareLibraries start
> INFO 2010-07-24 10:59:43,436 [ajp-8009-2] marshall factory: /org.seasar.mayaa.provider.ProviderFactory
> ERROR 2010-07-24 10:59:44,428 [ajp-8009-2] java.lang.ClassNotFoundException: org.mobylet.gae.taglibs.GaeAutoScaleImageTag
> java.lang.RuntimeException: java.lang.ClassNotFoundException: org.mobylet.gae.taglibs.GaeAutoScaleImageTag
> at org.seasar.mayaa.impl.util.ObjectUtil.loadClass(ObjectUtil.java:118)
> at org.seasar.mayaa.impl.builder.library.tld.TagTagHandler$TagClassSetter.end(TagTagHandler.java:130)
> at org.seasar.mayaa.impl.util.xml.TagHandler.endElement(TagHandler.java:91)
> at org.seasar.mayaa.impl.util.xml.TagHandlerStack.endElement(TagHandlerStack.java:67)
> at org.seasar.mayaa.impl.util.xml.XMLHandler.endElement(XMLHandler.java:143)
> at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
> at org.apache.xerces.impl.xs.XMLSchemaValidator.endElement(Unknown Source)
> at org.apache.xerces.impl.XMLNSDocumentScannerImpl.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.seasar.mayaa.impl.util.XMLUtil.parse(XMLUtil.java:49)
> at org.seasar.mayaa.impl.builder.library.TLDDefinitionBuilder.build(TLDDefinitionBuilder.java:53)
> at org.seasar.mayaa.impl.builder.library.LibraryManagerImpl.buildAll(LibraryManagerImpl.java:158)
> at org.seasar.mayaa.impl.builder.library.LibraryManagerImpl.prepareLibraries(LibraryManagerImpl.java:143)
> at org.seasar.mayaa.impl.MayaaServlet.init(MayaaServlet.java:54)
> at javax.servlet.GenericServlet.init(GenericServlet.java:212)
> at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1172)
> at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:808)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:599)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
> at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
> at org.seasar.struts.action.S2RequestProcessor.doForward(S2RequestProcessor.java:306)
> at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
> at org.seasar.struts.action.S2RequestProcessor.process(S2RequestProcessor.java:134)
> at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
> at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.extension.filter.RequestDumpFilter.doFilter(RequestDumpFilter.java:127)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:86)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.mobylet.core.http.MobyletFilter.processFilter(MobyletFilter.java:121)
> at org.mobylet.core.http.MobyletFilter.doFilter(MobyletFilter.java:74)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
> at org.seasar.struts.filter.RoutingFilter.forward(RoutingFilter.java:219)
> at org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:90)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:99)
> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.mobylet.core.http.MobyletFilter.processFilter(MobyletFilter.java:121)
> at org.mobylet.core.http.MobyletFilter.doFilter(MobyletFilter.java:74)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:419)
> at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:378)
> at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.ClassNotFoundException: org.mobylet.gae.taglibs.GaeAutoScaleImageTag
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
> at org.seasar.mayaa.impl.util.ObjectUtil.loadClass(ObjectUtil.java:116)
> ... 85 more
>
>
> 以上、ご確認の程、宜しくお願い致します。
>
> // decoy
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
--
―Lei Hau'oli Co.,Ltd.―――――――――――
竹内 真(TAKEUCHI SHIN)
Tel: 080-3300-9888
Mail: [E-MAIL ADDRESS DELETED]
株式会社Lei Hau'oli
〒135-0064 東京都江東区青海2丁目7-4 THE SOHO 934
Tel: 03-6457-1041 Fax:03-6457-1042
Seasar-user メーリングリストの案内