That makes it more difficult :-)
I checked my downloads of myfaces-api and myfaces-impl and tomahawk for
duplications - it was a long shot - but as expected no duplicates.
Try this - take out the myfaces-impl jar from the "WEB-INF/lib" because that
is where the duplicate entry is. If it really is duplicate it should load
or give you some other error because the JSF version will be wrong. But the
key is that the duplicate entry will be gone. If that happens then you know
there is another entry somewhere.
I've also had times when I forgot that I put myfaces jars into a shared lib
directory. Just for sanity - I would check that too.
Hope that helps,
-Jay
On 1/25/07, Leyzerzon, Simeon <[EMAIL PROTECTED]> wrote:
Thank you for your answers.
I've put the suggested by Mike
org.apache.myfaces.CHECK_EXTENSIONS_FILTERcontext-param tag in
the web.xml and it eliminated the previous errror, but introduced a
similar one on another component on the page (see below).
Jay, WebLogic version we are using is 8.1 and it doesn't include JSF for
sure (it didn't exist at the time it was released), I only have the jars I
mentioned before in the app, and I don't mix RI and myfaces, just myfaces
are used.
What we have is this stanza in weblogic.xml:
</jsp-descriptor>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
and here are all the jars we have in web-inf/lib:
ajax4jsf-1.0.6RC1.jar
cglib-nodep-2.1_3.jar
CLRCommons.jar
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-collections-3.2.jar
commons-digester-1.7.jar
commons-el-2.0.jar
commons-fileupload-1.0.jar
commons-httpclient-2.0.jar
commons-javaflow-20060411.jar
commons-lang-2.1.jar
commons-logging-1.1.jar
commons-logging-api-1.1.jar
commons-validator-1.1.4.jar
dom4j-1.6.1.jar
DomainModel.jar
hibernate-3.2.0.jar
itext-1.3.1.jar
jakarta-oro-2.0.7.jar
jasperreports-1.3.0.jar
jaxen-1.1-beta-7.jar
jdom.jar
jdt-compiler-3.1.1.jar
jsp-api.jar
jstl.jar
jxl-2.6.jar
log4j-1.2.13.jar
myfaces-api-1.1.4.jar
myfaces-impl-1.1.4.jar
oscache-2.3.2.jar
png-encoder-1.5.jar
poi-2.0-final-20040126.jar
Security.jar
servlet-api.jar
spring-2.0-rc4.jar
standard.jar
tomahawk-1.1.3.jar
Here is the error:
<Jan 25, 2007 3:43:15 PM EST> <Error> <HTTP> <BEA-101017>
<[ServletContext(id=88
06925,name=GISWeb,context-path=/GISWeb)] Root cause of ServletException.
*javax.faces.FacesException: duplicate class definition:
org/apache/myfaces/tagli
b/core/ValidateLongRangeTag*
at
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatc
h(ServletExternalContextImpl.java:422)
at
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspV
iewHandlerImpl.java:234)
at org.ajax4jsf.framework.ViewHandlerWrapper.renderView
(ViewHandlerWrapp
er.java:101)
at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView
(AjaxViewHandle
r.java:222)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(
LifecycleImpl.java:
384)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
at org.apache.myfaces.webapp.MyFacesServlet.service(
MyFacesServlet.java:
74)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet
(ServletStubIm
pl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java
:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(
FilterChainImpl.ja
va:27)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter
(Extensions
Filter.java:144)
at weblogic.servlet.internal.FilterChainImpl.doFilter(
FilterChainImpl.ja
va:27)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter
(BaseX
MLFilter.java:75)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter
(BaseFilter.
java:213)
at weblogic.servlet.internal.FilterChainImpl.doFilter(
FilterChainImpl.ja
va:27)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6356)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs
(Authenticate
dSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(
SecurityManager.java:
118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet
(WebAppSe
rvletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute
(ServletRequestIm
pl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Caused by: javax.servlet.ServletException: duplicate class definition:
org/apach
e/myfaces/taglib/core/ValidateLongRangeTag
at weblogic.servlet.internal.RequestDispatcherImpl.forward
(RequestDispat
cherImpl.java:323)
at
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatc
Appreciate any additional help!!!
Simeon
------------------------------
*From:* Jay Balunas [mailto:[EMAIL PROTECTED]
*Sent:* Thursday, January 25, 2007 3:00 PM
*To:* MyFaces Discussion
*Subject:* Re: duplicate class definition exception
Hello,
I have gotten this exception when I have multiple tomahawk jars, or jsf
jars (RI or myfaces) in the classpath.
I originally got this issue when using jboss and a war file that packaged
the MyFaces jars. The classloader is basically finding two instances of the
class, and not able to determine which to use. This may also be a check in
JSF itself - I'm not sure.
I would check if web logic packages a JSF implementation, If so the only
way I found to get around it was to update the rev in JBoss to the one I
wanted and not include my own in my war. If this is not an option I think
you'll have to remove the jsf jars from web logic.
Hope this helps,
Jay
On 1/25/07, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
>
> Don't know for sure, but you can start by adding the web.xml
> org.apache.myfaces.CHECK_EXTENSIONS_FILTER context-param to get rid of
> the warning.
>
> Typically if you have a duplicate class issue, it's because you have
> two copies of the jar file, possibly with different versions, in your
> path somewhere. I think the class in question is part of
> myfaces-impl.jar. Make sure you don't have any old version jars like
> myfaces-all or myfaces-shared in your path as well.
>
> On 1/25/07, Leyzerzon, Simeon <[EMAIL PROTECTED]>
> wrote:
> >
> >
> >
> > Hi,
> > We are trying to trace the root cause of the following run-time
> exception
> > which seems to be happening every time the server gets restarted and a
> link
> > in the application gets clicked. We use Weblogic 8.1 sp2 with the
> following
> > myFaces jars:
> >
> > myfaces-api-1.1.4.jar
> > myfaces-impl-1.1.4.jar
> > tomahawk.jar-1.1.3.jar
> > Has anyone experiensed this error? Any suggestions on how to prevent
> it from
> > happening?
> >
> > 10:44:58,068 INFO MyfacesConfig:133 - No context init parameter
> > 'org.apache.myf
> > aces.CHECK_EXTENSIONS_FILTER' found, using default value true
> > <Jan 25, 2007 10:44:58 AM EST> <Error> <HTTP> <BEA-101017>
> > <[ServletContext(id=3
> > 1984775,name=GISWeb,context-path=/GISWeb)] Root cause of
> > ServletException.
> > javax.faces.FacesException: duplicate class definition:
> > org/apache/myfaces/tagli
> > b/html/HtmlSelectOneMenuTag
> > at
> > org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatc
> > h(ServletExternalContextImpl.java:422)
> > at
> > org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView (JspV
> > iewHandlerImpl.java:234)
> > at
> > org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapp
> > er.java:101)
> > at
> > org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView (AjaxViewHandle
> > r.java:222)
> > at
> > org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:
> > 384)
> > at
> > javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
> > at
> > org.apache.myfaces.webapp.MyFacesServlet.service(MyFacesServlet.java:
> > 74)
> > at
> > weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
> > (ServletStubImpl.java :971)
> > at
> > weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
> > pl.java:402)
> > at
> > weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
> > at
> > weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
> > va:27)
> > at
> > org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(Extensions
> > Filter.java:144)
> > at
> > weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
> > va:27)
> > at
> > org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseX
> > MLFilter.java:75)
> > at
> > org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.
> > java:213)
> > at
> > weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
> > va:27)
> > at
> > weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
> > n.run(WebAppServletContext.java:6356)
> > at
> > weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
> > dSubject.java:317)
> > at
> > weblogic.security.service.SecurityManager.runAs (SecurityManager.java:
> > 118)
> > at
> > weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
> > rvletContext.java:3635)
> > at
> > weblogic.servlet.internal.ServletRequestImpl.execute (ServletRequestIm
> > pl.java:2585)
> > at
> > weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
> > at
> > weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
> >
> >
> > Thank you in advance for help.
> >
> > Simeon Leyzerzon
> >
> >
> ==============================================================================
> > Please access the attached hyperlink for an important electronic
> > communications disclaimer:
> >
> > http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
> >
> ==============================================================================
>
> >
> >
> >
> >
>
==============================================================================
Please access the attached hyperlink for an important electronic communications
disclaimer:
http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
==============================================================================