JSPG0047E: Unable to locate tag library for uri http://jakarta.apache.org/struts/tags-logic

I am trying to use struts tag libraries in a .jsp for a 2.4 level j2ee web application.  I have the following at the top of my .jsp:

<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

the struts.jar file is in my classpath.  The meta-inf/tlds folder in the struts.jar file contains the struts-logic.tld file.  In that file the correct uri is defined: <uri>http://struts.apache.org/tags-logic</uri>

However, when I run the application in Rational Application Developer, I get the exception below.  Please help:

com.ibm.ws.jsp.JspCoreException: JSPG0047E: Unable to locate tag library for uri http://jakarta.apache.org/struts/tags-logic       at com.ibm.ws.jsp.translator.visitor.tagfiledep.TagFileDependencyVisitor.visitCustomTagStart(TagFileDependencyVisitor.java:74)      at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:267)      at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:309)      at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:139)      at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:121)      at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:121)      at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:181)      at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:83)      at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.translateJsp(AbstractJSPExtensionServletWrapper.java:349)      at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper._checkForTranslation(AbstractJSPExtensionServletWrapper.java:317)      at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.checkForTranslation(AbstractJSPExtensionServletWrapper.java:226)      at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:131)      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:308)      at com.ibm.ws.webcontainer.servlet.FilterProxyServlet.dispatch(FilterProxyServlet.java:61)      at com.ibm.ws.webcontainer.servlet.FilterProxyServlet.service(FilterProxyServlet.java:41)      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:972)      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)      at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:696)      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:641)      at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.invokeFilters(DefaultExtensionProcessor.java:613)      at com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.invokeFilters(DefaultExtensionProcessor.java:145)      at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:460)      at com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:111)      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3107)      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)      at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:193)      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:725)      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:847)      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
MikeAtWork66Asked:
Who is Participating?
 
mccarlIT Business Systems Analyst / Software DeveloperCommented:
There is this known issue for v6.1, could it be the problem?

http://www-01.ibm.com/support/docview.wss?uid=swg1PK68590

Are you running it with the "Resource within the workspace" option? Have you tried the "Resources on server" option to see if there is a difference, as per the above issue?
0
 
mccarlIT Business Systems Analyst / Software DeveloperCommented:
What version of Websphere/RAD are you using?
0
 
MikeAtWork66Author Commented:
I'm using RAD 8.5.2 fix 2 with a Websphere 6.1 runtime.
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Murali MurugesanFull stack Java developerCommented:
Two things to try out,

1. Copy the tld folder from META-INF (from jar) to  WEB-INF/tld Declare the tld in web.xml just like doing it for JSTL. (This is the old approach)

2. I'm not so familiar with RAD so just see if there is a file generated for the libraries (may be xml) file and check if the struts jar is included (with no spacing issue)

Murali
0
 
MikeAtWork66Author Commented:
This bug was, indeed, the problem.
0
 
mccarlIT Business Systems Analyst / Software DeveloperCommented:
I'm glad it helped! :)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.