File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Struts and the fly likes error : failed to load or instantiate TagExtraInfo class Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "error : failed to load or instantiate TagExtraInfo class" Watch "error : failed to load or instantiate TagExtraInfo class" New topic

error : failed to load or instantiate TagExtraInfo class

Ramesh kangamuthu
Ranch Hand

Joined: Mar 13, 2007
Posts: 79
When I execute struts appcn I got the following error after I have put struts tag libraries in WEB-INF/lib directory.The error is as follows

org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.html.MessagesTei
Merrill Higginson
Ranch Hand

Joined: Feb 15, 2005
Posts: 4864
This error generally occurs when there is a mixture of jar files and tld files from different versions of Struts. Make sure that all of these artifacts come from the same Struts download.

Also note that in Struts 1.3, the TLD files are included in the jar files, and should not be included separately. In your JSPs, you should use their namespace, not their physical location to reference them. Example:

Consultant, Sima Solutions
Const Supper

Joined: Jan 09, 2009
Posts: 1
I had this problem. Resolve: make sure that you added all required .jar-s to project.
List libraries.
* commons-logging
* commons-lang
* commons-collections
* commons-beanutils
* log4j
* itext (optional, for pdf/rtf export)

or see this
Sumanth Singh

Joined: Oct 12, 2011
Posts: 10
Hi Merill

I have the same problem. I am using struts 1.2 + jdk 1.6 + MyEcilpse for Spring 9 + J boss 5.1.0 G.A. I am unable to understand by what you said by using their name space.

Since is not their name space can you specify how should we specify their name space.


I have all the jars mentioned by you. Still it does not work.

Jeff Hill

Joined: Aug 24, 2008
Posts: 11
Hi Sumanth,
He was referring to the technique used to resolve the reference to the TLDs.

"By Location" would be where the URI refers to a specific location such as "WEB-INF/lib" where the TLDs can be found; the container then need only verify the TLD exists in that location.

"By namespace" means the the URI refers to an arbitrary string value (in this case "") that the TLD specifies internally; the container then has to search jars in the classpath for TLDs that define the same string as their URI. Note that this does not mean that the tag code or container ever tries to visit "" - it's just used as a unique identifier, and could just as easily have been "HamSandwich" if that's what the tag developer chose.

A benefit of "By Namespace" is that you can move your tag libraries around and not have to go back and change all your taglib directives.

I agree. Here's the link:
subject: error : failed to load or instantiate TagExtraInfo class
It's not a secret anymore!