7 Replies Latest reply: Aug 23, 2010 2:18 PM by 843804 RSS

    .JasperException: This absolute uri (http://java.sun.com/jstl/core) cannot

    843802
      Hi,

      try to run the struts-faces-example. It runs but if I try to register
      I become an internal error (status 500) with the following exception:

      org.apache.jasper.JasperException: This absolute uri
      (http://java.sun.com/jstl/core) cannot be resolved in either web.xml
      or the jar files deployed with this application
      at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:105)
      etc.

      If I open the c.tld in the standard.jar the only content is the exception. I'm little disoriented.

      If somebody can give me a hint I would appreciate it.

      Thanks in advance

      marcelino
        • 1. Re: .JasperException: This absolute uri(http://java.sun.com/jstl/core) cannot
          843802
          Beware! there are many false prophets on the web

          Problem Situation :

          helloworld.jsp [-1:-1] This absolute uri (http://java.sun.com/jstl/core) cannot be resolved in either web.xml or the jar files deployed with this application

          Causes:

          1 You are using the http://java.sun.com/jstl/core like I was.

          Solution:

          1. If you like, download the latest stadard.jar from http://www.apache.org/dist/jakarta/taglibs/standard/jakarta-taglibs-standard-current.zip or goto step 4

          2. Unzip it
          3. Copy the standard.jar and jstl.jar file into WEB-INF/lib directory in you project
          4. Open standard.jar with say winzip
          5. Find *.tld files
          6. Note all the *.tld files
          7. In the WEB-INF directory, delete all the *.tld files already in standard.jar. You don't need them in WEB-INF. Also remove the <taglib>blah blah blah </taglib> of these *.tld files. For example:

          <taglib>
          <taglib-uri>http://java.sun.com/jsf/core</taglib-uri>
          <taglib-location>/WEB-INF/c.tld</taglib-location>
          </taglib>

          !!! Too yesterday !!!

          8. Assume standard.jar is still open in winzip, open say c.ltd, and you would find:

          <?xml version="1.0" encoding="UTF-8" ?>
          <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
          version="2.0">

          <description>JSTL 1.1 core library</description>
          <display-name>JSTL core</display-name>
          <tlib-version>1.1</tlib-version>
          <short-name>c</short-name>
          <uri>http://java.sun.com/jsp/jstl/core</uri>

          <validator>

          so and so...

          </taglib>

          8. Notice the <uri>, it is different from http://java.sun.com/jstl/core in step 1. This is the problem. You need to use

          <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> and not
          <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> !!! Too yesterday !!!

          If you havn't noticed the difference - its the addition of "jsp/"


          That's all. Have one on me!

          The London lone softneer
          • 2. Re: .JasperException: This absolute uri(http://java.sun.com/jstl/core) cann
            843804
            hey

            I have similar problem

            I set up Apache Tomcat/4.1.31 server
            but every time I'm trying to see some *.jsp webpage it shows me this message:

            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: This absolute uri (http://java.sun.com/jsf/core) cannot be resolved in either web.xml or the jar files deployed with this application
                 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:116)
                 at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:309)
                 at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:336)
                 at org.apache.jasper.compiler.Parser.parseElements(Parser.java:750)
                 at org.apache.jasper.compiler.Parser.parse(Parser.java:77)
                 at org.apache.jasper.compiler.ParserController.parse(ParserController.java:157)
                 at org.apache.jasper.compiler.ParserController.parse(ParserController.java:111)
                 at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:183)
                 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
                 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:809)
                 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
                 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
                 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
                 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:948)
                 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
                 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:948)
                 at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
                 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:118)
                 at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
                 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
                 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:948)
                 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:948)
                 at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
                 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
                 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
                 at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
                 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
                 at java.lang.Thread.run(Thread.java:619)



            I don't know what's wrong with this cause there is no folder lib in WEB-INF folder, so Your solution cannot help me in this case :(

            I'll be gratefull for any advice
            • 3. Re: .JasperException: This absolute uri(http://java.sun.com/jstl/core) cann
              843804
              This error can also be generated when the jstl.jar is not found on the server (most likely jstl-1.2.jar).
              • 4. Re: .JasperException: This absolute uri(http://java.sun.com/jstl/core) cann
                843804
                Actually, it is the standard.jar that is missing, not the jstl.jar. Sorry for the confusion.
                .
                • 5. Re: .JasperException: This absolute uri(http://java.sun.com/jstl/core) cann
                  843804
                  Yaa.. I got the same error.
                  Please include standard.jar in your lib. then it will be ok.
                  • 6. Re: .JasperException: This absolute uri(http://java.sun.com/jstl/core) cann
                    843804
                    I am having a similar issue.

                    I wrote a JSF based app for a client back in 2005/06 and it worked fine on Tomcat 4 then. But times have moved on and I changed jobs and am no longer a regular developer, I run my own company now and don't do any Java development any more.

                    But the client has come back and requested I get this old code running after all this time and I feel honour-bound to help.

                    I have installed Tomcat 4 fine and have built the .war file from source ok. The unit tests all pass which is nice and the webapp starts up ok under Tomcat's manager.

                    But, when I try to go to the site on localhost I get the error, as above.
                    org.apache.jasper.JasperException: This absolute uri (http://java.sun.com/jstl/core) cannot be resolved in either web.xml or the jar files deployed with this application
                    Following some of the advice posted above I checked out the tld files in standard.jar (in webapps/myapp/WEB-INF/lib/standard.jar) and edited any instance of http://java.sun.com/jstl/core to become http://java.sun.com/jsp/jstl/core

                    I stopped and started the web app via the manager

                    however I still get the same error message.

                    Is the problem simply that sun have moved http://java.sun.com/jstl/core to http://java.sun.com/jsp/jstl/core in the last few years and I need to dig through every jar file and look for a reference to the old url?

                    Any help or advice would be appreciated here.

                    Cheers
                    Dave
                    • 7. Re: .JasperException: This absolute uri(http://java.sun.com/jstl/core) cann
                      843804
                      Just check if the jstl jar (ex jstl-1.2.jar) is in the server's classpath. Than it should work smoothly.