You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by ma...@accenture.com on 2008/05/20 15:53:34 UTC

[Tomahawk] - Both MyFaces and the RI are on your classpath

Hi,
I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly. But
on the log I found:
"Both MyFaces and the RI are on your classpath. Please make sure to use
only one of the two JSF-implementations."
I know that WAS has a JSF 1.1 implementation (Sun implementation) and my
application classloader policy is PARENT-LAST. The question is:
The log has an "ERROR" severity, so can this cause some problem?

Thanks in advance
Mario



This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information.  If you have received it in error, please notify the sender immediately and delete the original.  Any other use of the email by you is prohibited.

RE: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by Luhtala Santeri <Sa...@profitsoftware.com>.
Have You tried making a server level custom classloader and then make a shared library with your JSF jars in it and use that shared lib with the custom classloader?
That was the only way I could avoid the problems with WAS built-in JSF impl.

Z

-----Original Message-----
From: Martin Ahrer [mailto:martin.ahrer@gmx.at]
Sent: 11. elokuuta 2008 14:58
To: users@myfaces.apache.org
Subject: Re: [Tomahawk] - Both MyFaces and the RI are on your classpath


Simon,

I'm trying to do something (probably) similar: Porting a JBoss Seam JSF RI
1.2 app to WebSphere 6.1. I have been running into many problems.
Now I'm stuck with an exception at startup
java.lang.IllegalStateException: Application was not properly initialized at
startup, could not find Factory: javax.faces.context.FacesContextFactory
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:267)
        at javax.faces.webapp.FacesServlet.init(FacesServlet.java:164)

For this I actually created a fresh JSF 1.2 appplication with no other
dependencies than JSF 1.2 (It starts and works on Tomcat 6.x).


I have pretty much come to the conclusion that it would not be wise to use
WebSphere 6.1 + JSF 1.2 at all. The built-in JSF is in
com.ibm.ws.webcontainer_2.0.0.jar which contains other ibm packages as well.
I haven't yet tried to remove the built-in JSF impl 1.1 from my WebSphere
installation - I don't think that one would get support from IBM if they
would do so in a production environment.

I find it strange that JBoss is describing a WebSphere deployment for it's
Seam framework in
http://docs.jboss.org/seam/2.0.3.CR1/reference/en-US/html/websphere.html
Chapter 35  when it seems to cause major troubles.

Since there have been a few months sínce this posting I'm corious if
somebody has been successful with this one!

Thanks, Martin


simon.kitching@chello.at wrote:
>
> mario.buonopane@accenture.com schrieb:
>> Hi,
>> I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly. But
>> on the log I found:
>> "Both MyFaces and the RI are on your classpath. Please make sure to use
>> only one of the two JSF-implementations."
>> I know that WAS has a JSF 1.1 implementation (Sun implementation) and my
>> application classloader policy is PARENT-LAST. The question is:
>> The log has an "ERROR" severity, so can this cause some problem?
>>
>
> Having both on the classpath *is* a serious problem. You do need to
> resolve this.
>
> Setting the classloader policy cannot solve this problem; that can
> change which is *first*, but cannot make one of them invisible. So you
> will need to either remove the websphere implementation, or overwrite it
> with the myfaces one, or use some websphere-specific feature (if one
> exists) to make the "built-in" lib invisible.
>
> There is some information on the wiki about configuring various
> containers. The wiki can be found here:
>   http://wiki.apache.org/myfaces/
>
> Regards,
> Simon
>
>
>


-----
http://www.martinahrer.at/blog http://www.martinahrer.at/blog
--
View this message in context: http://www.nabble.com/-Tomahawk----Both-MyFaces-and-the-RI-are-on-your-classpath-tp17340912p18924370.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by Martin Ahrer <ma...@gmx.at>.
Simon,

I'm trying to do something (probably) similar: Porting a JBoss Seam JSF RI
1.2 app to WebSphere 6.1. I have been running into many problems.
Now I'm stuck with an exception at startup
java.lang.IllegalStateException: Application was not properly initialized at
startup, could not find Factory: javax.faces.context.FacesContextFactory
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:267)
	at javax.faces.webapp.FacesServlet.init(FacesServlet.java:164)

For this I actually created a fresh JSF 1.2 appplication with no other
dependencies than JSF 1.2 (It starts and works on Tomcat 6.x). 


I have pretty much come to the conclusion that it would not be wise to use
WebSphere 6.1 + JSF 1.2 at all. The built-in JSF is in
com.ibm.ws.webcontainer_2.0.0.jar which contains other ibm packages as well.
I haven't yet tried to remove the built-in JSF impl 1.1 from my WebSphere
installation - I don't think that one would get support from IBM if they
would do so in a production environment.

I find it strange that JBoss is describing a WebSphere deployment for it's
Seam framework in 
http://docs.jboss.org/seam/2.0.3.CR1/reference/en-US/html/websphere.html
Chapter 35  when it seems to cause major troubles.

Since there have been a few months sínce this posting I'm corious if
somebody has been successful with this one!

Thanks, Martin


simon.kitching@chello.at wrote:
> 
> mario.buonopane@accenture.com schrieb:
>> Hi,
>> I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly. But
>> on the log I found:
>> "Both MyFaces and the RI are on your classpath. Please make sure to use
>> only one of the two JSF-implementations."
>> I know that WAS has a JSF 1.1 implementation (Sun implementation) and my
>> application classloader policy is PARENT-LAST. The question is:
>> The log has an "ERROR" severity, so can this cause some problem?
>>   
> 
> Having both on the classpath *is* a serious problem. You do need to
> resolve this.
> 
> Setting the classloader policy cannot solve this problem; that can
> change which is *first*, but cannot make one of them invisible. So you
> will need to either remove the websphere implementation, or overwrite it
> with the myfaces one, or use some websphere-specific feature (if one
> exists) to make the "built-in" lib invisible.
> 
> There is some information on the wiki about configuring various
> containers. The wiki can be found here:
>   http://wiki.apache.org/myfaces/
> 
> Regards,
> Simon
> 
> 
> 


-----
http://www.martinahrer.at/blog http://www.martinahrer.at/blog 
-- 
View this message in context: http://www.nabble.com/-Tomahawk----Both-MyFaces-and-the-RI-are-on-your-classpath-tp17340912p18924370.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by Martin Ahrer <ma...@gmx.at>.
Simon,

I'm trying to do something (probably) similar: Porting a JBoss Seam JSF RI
1.2 app to WebSphere 6.1. I have been running into many problems.
Now I'm stuck with an exception at startup
java.lang.IllegalStateException: Application was not properly initialized at
startup, could not find Factory: javax.faces.context.FacesContextFactory
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:267)
	at javax.faces.webapp.FacesServlet.init(FacesServlet.java:164)

For this I actually created a fresh JSF 1.2 appplication with no other
dependencies than JSF 1.2 (It starts and works on Tomcat 6.x). 


I have pretty much come to the conclusion that it would not be wise to use
WebSphere 6.1 + JSF 1.2 at all. The built-in JSF is in
com.ibm.ws.webcontainer_2.0.0.jar which contains other ibm packages as well.
I haven't yet tried to remove the built-in JSF impl 1.1 from my WebSphere
installation - I don't think that one would get support from IBM if they
would do so in a production environment.

I find it strange that JBoss is describing a WebSphere deployment for it's
Seam framework in 
http://docs.jboss.org/seam/2.0.3.CR1/reference/en-US/html/websphere.html
Chapter 35  when it seems to cause major troubles.

Since there have been a few months sínce this posting I'm corious if
somebody has been successful with this one!

Thanks, Martin


simon.kitching@chello.at wrote:
> 
> mario.buonopane@accenture.com schrieb:
>> Hi,
>> I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly. But
>> on the log I found:
>> "Both MyFaces and the RI are on your classpath. Please make sure to use
>> only one of the two JSF-implementations."
>> I know that WAS has a JSF 1.1 implementation (Sun implementation) and my
>> application classloader policy is PARENT-LAST. The question is:
>> The log has an "ERROR" severity, so can this cause some problem?
>>   
> 
> Having both on the classpath *is* a serious problem. You do need to
> resolve this.
> 
> Setting the classloader policy cannot solve this problem; that can
> change which is *first*, but cannot make one of them invisible. So you
> will need to either remove the websphere implementation, or overwrite it
> with the myfaces one, or use some websphere-specific feature (if one
> exists) to make the "built-in" lib invisible.
> 
> There is some information on the wiki about configuring various
> containers. The wiki can be found here:
>   http://wiki.apache.org/myfaces/
> 
> Regards,
> Simon
> 
> 
> 


-----
http://www.martinahrer.at/blog http://www.martinahrer.at/blog 
-- 
View this message in context: http://www.nabble.com/-Tomahawk----Both-MyFaces-and-the-RI-are-on-your-classpath-tp17340912p18924369.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.


Re: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by "simon.kitching@chello.at" <si...@chello.at>.
mario.buonopane@accenture.com schrieb:
> Thanks Simon for your response and sorry for my bad one (now o don't
> know if use bottom or top...)
> If I understood well, I don't have any problem because the JSF
> implementation used by WAS does not define any faces-config.xml and
> META-INF/services/.... (I'm using MyFaces and Tomahawk 1.1.5). 
>
> So, is normal that I found the log "Both MyFaces and the RI are on your
> classpath" because  org.apache.myfaces.shared_impl.config.MyfacesConfig
> check existence of Sun implementation but I don't understand why is
> logging an error message.
>   

There have definitely been problems in the past when people have had
both implementations in their classpath. So the error message is there
to tell people about it. Maybe those problems have since been fixed, but
I don't know anything about that.

I can't remember the details; maybe you should search the email archives
for "Both MyFaces and the RI". Or check the svn history to see if there
is a useful comment attached to the commit that added that error message.

> In the response you talk about
> org.apache.myfaces.config.FacesConfigurator class but the lo is of
> org.apache.myfaces.shared_impl.config.MyfacesConfig.
>   

Then I guess you're using myfaces 1.2.x. I looked at the 1.1.x code. The
principle is the same though.
> Can you help me to relax? :)  At the moment my application is working
> without problems.....what can I do for check existence of any kind of
> future problems?
>   
The only way to be absolutely sure would be to do a code audit of
myfaces, particularly the startup process and any code that uses
Class.forName or similar. I guess no-one has cared enough to do this yet.

Obviously some people have found things to work ok (otherwise they would
not have created the wiki entry). But you've also had a response in this
email thread from someone who had mysterious problems that seemed to go
away when they removed the RI implementation from the path (I think
that's what he meant). That's not hard data, but

It's up to you to choose what to do now.

Removing the JSF implementation from Websphere would certainly be the
safest solution if you really want to run MyFaces within it.

Or you could run your app in a plain servlet engine like Tomcat or
Jetty, where there is no JSF implementation bundled.

Or you could just use the JSF implementation that is embedded within
Websphere. After all, websphere is a J2EE environment, and therefore
already provides a JSF implementation. Trying to run a different JSF
implementation within it might be asking for trouble.

But in the end, if your app is passing your testing, then I guess that
is what really counts, and you could ignore the message (or disable it
by configuring your logging appropriately) until you really have a problem.

Regards,
Simon


RE: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by ma...@accenture.com.
Thanks Simon for your response and sorry for my bad one (now o don't
know if use bottom or top...)
If I understood well, I don't have any problem because the JSF
implementation used by WAS does not define any faces-config.xml and
META-INF/services/.... (I'm using MyFaces and Tomahawk 1.1.5). 

So, is normal that I found the log "Both MyFaces and the RI are on your
classpath" because  org.apache.myfaces.shared_impl.config.MyfacesConfig
check existence of Sun implementation but I don't understand why is
logging an error message.

In the response you talk about
org.apache.myfaces.config.FacesConfigurator class but the lo is of
org.apache.myfaces.shared_impl.config.MyfacesConfig.

Can you help me to relax? :)  At the moment my application is working
without problems.....what can I do for check existence of any kind of
future problems?

Thanks in advance
Mario 






-----Original Message-----
From: simon.kitching@chello.at [mailto:simon.kitching@chello.at] 
Sent: 20 maggio 2008 16.51
To: MyFaces Discussion
Subject: Re: [Tomahawk] - Both MyFaces and the RI are on your classpath

First, please read this:
  http://www.nabble.com/How-to-reply-to-emails-t3182877.html

Now re your question:

Hmm..maybe I spoke a little too soon.

The problem is that when any JSF implementation starts up, it has to
scan the classpath for various configuration files and process them.
Processing the configuration files embedded within two different JSF
implementations would be very bad. This is what I was thinking of when I
said that two implementations in the classpath is really bad.

But I see in method
org.apache.myfaces.config.FacesConfigurator.feedStandardConfig that it
just takes the first config file named "standard-faces-config.xml" that
it finds, and doesn't look any further. So as long as the classloader
policy is set right, *that particular config file* should not be a
problem.

It *will* find any "faces-config.xml" files that are anywhere in the
classpath, and process them all. But hopefully there aren't any of those
in the Sun RI (mojarra) implementation. MyFaces Core certainly doesn't
have one, just a standard-faces-config.xml.

You don't say which version of myfaces core you are using. In the case
of 1.1.x, the startup procedure does try to look up
  META-INF/services/javax.faces.application.ApplicationFactory
  META-INF/services/javax.faces.context.FacesContextFactory
  META-INF/services/javax.faces.lifecycle.LifecycleFactory
  META-INF/services/javax.faces.render.RenderKitFactory
which myfaces does not define [1] So if the sun implementation in the
"higher" classloader did define any of these, then things would get
really screwed up. There are a number of other possible dangers here.

So in short, I'm not *certain* now that things would go wrong. But it
would certainly make me nervous having a second JSF implementation still
visible in the classpath if this were my production environment...

[1] Possibly Myfaces should check whether any resource it looks up comes
from a classloader which is not the same as the classloader that the
standard-faces-config.xml comes from, and if so then ignore it. That
would solve this particular problem. But that isn't the case for the
current code (at least as far as I can see).

Regards,
Simon



mario.buonopane@accenture.com schrieb:
> Sorry Simon, but your response terrifies me!
> You are talking about of serious problem but on the WIKI there is a
> paragraph (http://wiki.apache.org/myfaces/Websphere_Installation)
> describing that the deploy on WAS can be done altering classloader
> policy. 
>
> What king of problems you are talking about? At the moment my web
> application is working well....is just lucky?
>
> Thank
> Mario 
>
>
> -----Original Message-----
> From: simon.kitching@chello.at [mailto:simon.kitching@chello.at] 
> Sent: 20 maggio 2008 15.59
> To: MyFaces Discussion
> Subject: Re: [Tomahawk] - Both MyFaces and the RI are on your
classpath
>
> mario.buonopane@accenture.com schrieb:
>   
>> Hi,
>> I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly.
But
>> on the log I found:
>> "Both MyFaces and the RI are on your classpath. Please make sure to
>>     
> use
>   
>> only one of the two JSF-implementations."
>> I know that WAS has a JSF 1.1 implementation (Sun implementation) and
>>     
> my
>   
>> application classloader policy is PARENT-LAST. The question is:
>> The log has an "ERROR" severity, so can this cause some problem?
>>   
>>     
>
> Having both on the classpath *is* a serious problem. You do need to
> resolve this.
>
> Setting the classloader policy cannot solve this problem; that can
> change which is *first*, but cannot make one of them invisible. So you
> will need to either remove the websphere implementation, or overwrite
it
> with the myfaces one, or use some websphere-specific feature (if one
> exists) to make the "built-in" lib invisible.
>
> There is some information on the wiki about configuring various
> containers. The wiki can be found here:
>   http://wiki.apache.org/myfaces/
>
> Regards,
> Simon
>
>
>
>
> This message is for the designated recipient only and may contain
privileged, proprietary, or otherwise private information.  If you have
received it in error, please notify the sender immediately and delete
the original.  Any other use of the email by you is prohibited.
>
>   




This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information.  If you have received it in error, please notify the sender immediately and delete the original.  Any other use of the email by you is prohibited.

Re: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by "simon.kitching@chello.at" <si...@chello.at>.
First, please read this:
  http://www.nabble.com/How-to-reply-to-emails-t3182877.html

Now re your question:

Hmm..maybe I spoke a little too soon.

The problem is that when any JSF implementation starts up, it has to
scan the classpath for various configuration files and process them.
Processing the configuration files embedded within two different JSF
implementations would be very bad. This is what I was thinking of when I
said that two implementations in the classpath is really bad.

But I see in method
org.apache.myfaces.config.FacesConfigurator.feedStandardConfig that it
just takes the first config file named "standard-faces-config.xml" that
it finds, and doesn't look any further. So as long as the classloader
policy is set right, *that particular config file* should not be a problem.

It *will* find any "faces-config.xml" files that are anywhere in the
classpath, and process them all. But hopefully there aren't any of those
in the Sun RI (mojarra) implementation. MyFaces Core certainly doesn't
have one, just a standard-faces-config.xml.

You don't say which version of myfaces core you are using. In the case
of 1.1.x, the startup procedure does try to look up
  META-INF/services/javax.faces.application.ApplicationFactory
  META-INF/services/javax.faces.context.FacesContextFactory
  META-INF/services/javax.faces.lifecycle.LifecycleFactory
  META-INF/services/javax.faces.render.RenderKitFactory
which myfaces does not define [1] So if the sun implementation in the
"higher" classloader did define any of these, then things would get
really screwed up. There are a number of other possible dangers here.

So in short, I'm not *certain* now that things would go wrong. But it
would certainly make me nervous having a second JSF implementation still
visible in the classpath if this were my production environment...

[1] Possibly Myfaces should check whether any resource it looks up comes
from a classloader which is not the same as the classloader that the
standard-faces-config.xml comes from, and if so then ignore it. That
would solve this particular problem. But that isn't the case for the
current code (at least as far as I can see).

Regards,
Simon

mario.buonopane@accenture.com schrieb:
> Sorry Simon, but your response terrifies me!
> You are talking about of serious problem but on the WIKI there is a
> paragraph (http://wiki.apache.org/myfaces/Websphere_Installation)
> describing that the deploy on WAS can be done altering classloader
> policy. 
>
> What king of problems you are talking about? At the moment my web
> application is working well....is just lucky?
>
> Thank
> Mario 
>
>
> -----Original Message-----
> From: simon.kitching@chello.at [mailto:simon.kitching@chello.at] 
> Sent: 20 maggio 2008 15.59
> To: MyFaces Discussion
> Subject: Re: [Tomahawk] - Both MyFaces and the RI are on your classpath
>
> mario.buonopane@accenture.com schrieb:
>   
>> Hi,
>> I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly. But
>> on the log I found:
>> "Both MyFaces and the RI are on your classpath. Please make sure to
>>     
> use
>   
>> only one of the two JSF-implementations."
>> I know that WAS has a JSF 1.1 implementation (Sun implementation) and
>>     
> my
>   
>> application classloader policy is PARENT-LAST. The question is:
>> The log has an "ERROR" severity, so can this cause some problem?
>>   
>>     
>
> Having both on the classpath *is* a serious problem. You do need to
> resolve this.
>
> Setting the classloader policy cannot solve this problem; that can
> change which is *first*, but cannot make one of them invisible. So you
> will need to either remove the websphere implementation, or overwrite it
> with the myfaces one, or use some websphere-specific feature (if one
> exists) to make the "built-in" lib invisible.
>
> There is some information on the wiki about configuring various
> containers. The wiki can be found here:
>   http://wiki.apache.org/myfaces/
>
> Regards,
> Simon
>
>
>
>
> This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information.  If you have received it in error, please notify the sender immediately and delete the original.  Any other use of the email by you is prohibited.
>
>   


RE: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by ma...@accenture.com.
Hi Matt, I have done what wiki say:
1) put myfaces jars on WEB-INF/lib
2) deploy the application
3) Alter the module classloader policy to application first

but I see the log. 

Analizing the source code of org.apache.myfaces.shared_impl.config.MyfacesConfig you can see the reason:

    static
    {
    	boolean riImplAvailable;
    	try
		{
			ClassUtils.classForName("com.sun.faces.application.ApplicationImpl");
			riImplAvailable = true;
		}
		catch (ClassNotFoundException e)
		{
			riImplAvailable = false;
		}
		RI_IMPL_AVAILABLE = riImplAvailable;
    }

This static block found the class com.sun.faces.application.ApplicationImpl because is present in the com.ibm.ws.webcontainer_2.0.0.jar of WAS container. So doing wiki stuff does not prevent that RI_IMPL_AVAILABLE is true.

In getCurrentInstance(..) method there is the code:

        if(RI_IMPL_AVAILABLE && MYFACES_IMPL_AVAILABLE)
        {
            log.error("Both MyFaces and the RI are on your classpath. Please make sure to use only one of the two JSF-implementations.");
        }

That log the message I found.

So, are you sure that you don't have same log the first time you invoke JSF in your application?

Thanks
Mario 





-----Original Message-----
From: Matt.Rossner-prest@sanofi-aventis.com [mailto:Matt.Rossner-prest@sanofi-aventis.com] 
Sent: 20 maggio 2008 16.39
To: users@myfaces.apache.org
Subject: RE: [Tomahawk] - Both MyFaces and the RI are on your classpath

Hi Mario,

I think it is just lucky. We're running myfaces on WebSphere 6.1 and at first we didn't bother configuring the classpath. Some pages loaded fine but others give inexplicable errors that we'd never seen in dev (Tomcat). After reading the wiki page and making some adjustments it works fine. 

Matt

-----Message d'origine-----
De : mario.buonopane@accenture.com [mailto:mario.buonopane@accenture.com] 
Envoyé : mardi 20 mai 2008 16:16
À : users@myfaces.apache.org
Objet : RE: [Tomahawk] - Both MyFaces and the RI are on your classpath

Sorry Simon, but your response terrifies me!
You are talking about of serious problem but on the WIKI there is a
paragraph (http://wiki.apache.org/myfaces/Websphere_Installation)
describing that the deploy on WAS can be done altering classloader
policy. 

What king of problems you are talking about? At the moment my web
application is working well....is just lucky?

Thank
Mario 


-----Original Message-----
From: simon.kitching@chello.at [mailto:simon.kitching@chello.at] 
Sent: 20 maggio 2008 15.59
To: MyFaces Discussion
Subject: Re: [Tomahawk] - Both MyFaces and the RI are on your classpath

mario.buonopane@accenture.com schrieb:
> Hi,
> I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly. But
> on the log I found:
> "Both MyFaces and the RI are on your classpath. Please make sure to
use
> only one of the two JSF-implementations."
> I know that WAS has a JSF 1.1 implementation (Sun implementation) and
my
> application classloader policy is PARENT-LAST. The question is:
> The log has an "ERROR" severity, so can this cause some problem?
>   

Having both on the classpath *is* a serious problem. You do need to
resolve this.

Setting the classloader policy cannot solve this problem; that can
change which is *first*, but cannot make one of them invisible. So you
will need to either remove the websphere implementation, or overwrite it
with the myfaces one, or use some websphere-specific feature (if one
exists) to make the "built-in" lib invisible.

There is some information on the wiki about configuring various
containers. The wiki can be found here:
  http://wiki.apache.org/myfaces/

Regards,
Simon




This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information.  If you have received it in error, please notify the sender immediately and delete the original.  Any other use of the email by you is prohibited.



This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information.  If you have received it in error, please notify the sender immediately and delete the original.  Any other use of the email by you is prohibited.

RE: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by Ma...@sanofi-aventis.com.
Hi Mario,

I think it is just lucky. We're running myfaces on WebSphere 6.1 and at first we didn't bother configuring the classpath. Some pages loaded fine but others give inexplicable errors that we'd never seen in dev (Tomcat). After reading the wiki page and making some adjustments it works fine. 

Matt

-----Message d'origine-----
De : mario.buonopane@accenture.com [mailto:mario.buonopane@accenture.com] 
Envoyé : mardi 20 mai 2008 16:16
À : users@myfaces.apache.org
Objet : RE: [Tomahawk] - Both MyFaces and the RI are on your classpath

Sorry Simon, but your response terrifies me!
You are talking about of serious problem but on the WIKI there is a
paragraph (http://wiki.apache.org/myfaces/Websphere_Installation)
describing that the deploy on WAS can be done altering classloader
policy. 

What king of problems you are talking about? At the moment my web
application is working well....is just lucky?

Thank
Mario 


-----Original Message-----
From: simon.kitching@chello.at [mailto:simon.kitching@chello.at] 
Sent: 20 maggio 2008 15.59
To: MyFaces Discussion
Subject: Re: [Tomahawk] - Both MyFaces and the RI are on your classpath

mario.buonopane@accenture.com schrieb:
> Hi,
> I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly. But
> on the log I found:
> "Both MyFaces and the RI are on your classpath. Please make sure to
use
> only one of the two JSF-implementations."
> I know that WAS has a JSF 1.1 implementation (Sun implementation) and
my
> application classloader policy is PARENT-LAST. The question is:
> The log has an "ERROR" severity, so can this cause some problem?
>   

Having both on the classpath *is* a serious problem. You do need to
resolve this.

Setting the classloader policy cannot solve this problem; that can
change which is *first*, but cannot make one of them invisible. So you
will need to either remove the websphere implementation, or overwrite it
with the myfaces one, or use some websphere-specific feature (if one
exists) to make the "built-in" lib invisible.

There is some information on the wiki about configuring various
containers. The wiki can be found here:
  http://wiki.apache.org/myfaces/

Regards,
Simon




This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information.  If you have received it in error, please notify the sender immediately and delete the original.  Any other use of the email by you is prohibited.

RE: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by ma...@accenture.com.
Sorry Simon, but your response terrifies me!
You are talking about of serious problem but on the WIKI there is a
paragraph (http://wiki.apache.org/myfaces/Websphere_Installation)
describing that the deploy on WAS can be done altering classloader
policy. 

What king of problems you are talking about? At the moment my web
application is working well....is just lucky?

Thank
Mario 


-----Original Message-----
From: simon.kitching@chello.at [mailto:simon.kitching@chello.at] 
Sent: 20 maggio 2008 15.59
To: MyFaces Discussion
Subject: Re: [Tomahawk] - Both MyFaces and the RI are on your classpath

mario.buonopane@accenture.com schrieb:
> Hi,
> I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly. But
> on the log I found:
> "Both MyFaces and the RI are on your classpath. Please make sure to
use
> only one of the two JSF-implementations."
> I know that WAS has a JSF 1.1 implementation (Sun implementation) and
my
> application classloader policy is PARENT-LAST. The question is:
> The log has an "ERROR" severity, so can this cause some problem?
>   

Having both on the classpath *is* a serious problem. You do need to
resolve this.

Setting the classloader policy cannot solve this problem; that can
change which is *first*, but cannot make one of them invisible. So you
will need to either remove the websphere implementation, or overwrite it
with the myfaces one, or use some websphere-specific feature (if one
exists) to make the "built-in" lib invisible.

There is some information on the wiki about configuring various
containers. The wiki can be found here:
  http://wiki.apache.org/myfaces/

Regards,
Simon




This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information.  If you have received it in error, please notify the sender immediately and delete the original.  Any other use of the email by you is prohibited.

Re: [Tomahawk] - Both MyFaces and the RI are on your classpath

Posted by "simon.kitching@chello.at" <si...@chello.at>.
mario.buonopane@accenture.com schrieb:
> Hi,
> I'm using Tomahawk 1.1.6 on WebSphere 6.1 and does work correctly. But
> on the log I found:
> "Both MyFaces and the RI are on your classpath. Please make sure to use
> only one of the two JSF-implementations."
> I know that WAS has a JSF 1.1 implementation (Sun implementation) and my
> application classloader policy is PARENT-LAST. The question is:
> The log has an "ERROR" severity, so can this cause some problem?
>   

Having both on the classpath *is* a serious problem. You do need to
resolve this.

Setting the classloader policy cannot solve this problem; that can
change which is *first*, but cannot make one of them invisible. So you
will need to either remove the websphere implementation, or overwrite it
with the myfaces one, or use some websphere-specific feature (if one
exists) to make the "built-in" lib invisible.

There is some information on the wiki about configuring various
containers. The wiki can be found here:
  http://wiki.apache.org/myfaces/

Regards,
Simon