Solved

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

Posted on 2013-12-11
6
1,912 Views
Last Modified: 2013-12-16
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)
0
Comment
Question by:MikeAtWork66
  • 3
  • 2
6 Comments
 
LVL 35

Expert Comment

by:mccarl
ID: 39713016
What version of Websphere/RAD are you using?
0
 

Author Comment

by:MikeAtWork66
ID: 39713019
I'm using RAD 8.5.2 fix 2 with a Websphere 6.1 runtime.
0
 
LVL 13

Expert Comment

by:Murali Murugesan
ID: 39713023
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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 35

Accepted Solution

by:
mccarl earned 500 total points
ID: 39713027
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
 

Author Closing Comment

by:MikeAtWork66
ID: 39721757
This bug was, indeed, the problem.
0
 
LVL 35

Expert Comment

by:mccarl
ID: 39722987
I'm glad it helped! :)
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
hash value 2 38
sumHeights2  challenge 7 76
Understanding websocket example in spring 1 42
Problem to start Neon 20 52
An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now