Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

TLDファイルが見つからない

独自のカスタムタグを作成したのですが、TLDファイルが見つからないというエラーが出て困っています。

【ブラウザのエラー】
HTTP Status 500 - 

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: JSP ファイル "/util-taglib" が見つかりません
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:60)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:385)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:109)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:137)
    at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:312)
    at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:339)
    at org.apache.jasper.compiler.Parser.parseElements(Parser.java:749)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:77)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:159)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:111)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:355)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:628)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:383)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:307)
    at smp.DispTokei.doPost(DispTokei.java:50)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    at java.lang.Thread.run(Unknown Source)

【tomcatログ】
2007-10-17 11:15:57 StandardWrapperValve[DispTokei]: サーブレット DispTokei のServlet.service()が例外を投げました
org.apache.jasper.JasperException: JSP ファイル "/util-taglib" が見つかりません
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:60)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:385)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:109)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:137)
    at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:312)
    at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:339)
    at org.apache.jasper.compiler.Parser.parseElements(Parser.java:749)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:77)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:159)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:111)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:355)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:628)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:383)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:307)
    at smp.DispTokei.doPost(DispTokei.java:50)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    at java.lang.Thread.run(Unknown Source)

【JSPのtaglibディレクティブ】
<%@ taglib uri="util-taglib" prefix="util" %>

【web.xml】

<web-app>

  ここに<servlet>や<servlet-mapping>とかを記述しています

  <taglib>
    <taglib-uri>util-taglib</taglib-uri>
    <taglib-location>/WEB-INF/util-taglib.tld</taglib-location>
  </taglib>

</web-app>

【環境】
・WindowsXp
・Tomcat4.1.36
・jdk1.4.2_04

長々と申し訳ありません。ご教授よろしくお願いします。

2

回答

4038

閲覧

2件の回答

評価

0

開発用フォルダと実行フォルダが違っているってことはないですか?

評価

0

不良社員さん
ご回答ありがとうございます。

>開発用フォルダと実行フォルダが違っているってことはないですか?
開発フォルダと実行フォルダは同じです。

質問させて頂いたのと並行して、いろいろ試してみたところ、
web.xmlの記述がおかしかったみたいです。

<servlet>と<servlet-mapping>が複数存在しており、
上記タグが交互に記述してあった為、<servlet>は
<servlet>でひとまとまりに、<servlet-mapping>は
<servlet-mapping>でひとまとまりにしたところ
TLDファイルエラーがなくなりました。

DTDに準拠して記述していなかったということなのでしょうか。

ひとまとまりにする以前でも、正常に処理されたことも
あったのですが…

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。