You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by Apache Wiki <wi...@apache.org> on 2009/11/20 19:16:58 UTC

[Myfaces Wiki] Update of "Websphere_Installation" by MichaelConcini

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Myfaces Wiki" for change notification.

The "Websphere_Installation" page has been changed by MichaelConcini.
http://wiki.apache.org/myfaces/Websphere_Installation?action=diff&rev1=14&rev2=15

--------------------------------------------------

+ = Websphere 7.0 Installation Guide =
+ ''Starting with Websphere 7.0, both the JSF Sun RI and a version of Myfaces are both shipped as part of the WAS runtime, with the ability provided to choose which implementation to use for your application after installation.  ''The following steps will detail how to use the implementation shipped with WAS.  It is still possible to use a user-supplied version of the MyFaces bundles by following the same steps outlined below for WebSphere 6.1.
+ 
+ == 1. Deploy the web application on WAS. ==
+ == 2. Execute the command to change the runtime from Sun RI to MyFaces. ==
+ This can be done either via the [[http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tweb_jsf.html|WAS admin console]] or through a [[http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/txml_7jsf.html|wsadmin command]].
+ 
+ If an application will be using a different version of Myfaces than the one shipped with WAS, do not execute this command and refer to the instructions below for WAS 6.1.
+ 
+ == 3. Start your application. ==
  = Websphere 6.1 Installation Guide =
- 
  ''Unlike Websphere 6.0, in Websphere 6.1 the JSF Sun RI is bundled together with several other WAS libraries in com.ibm.ws.webcontainer_2.0.0.jar, so removing the webspheres JSF API jars is not an option. The procedure below describes how to use MyFaces, TOMAHAWK (and even Tiles) on Websphere 6.1 by altering the module classloader policy to load classes using the application class loader first (thereby loading the MyFaces jars before the Sun RI jars). This procedure has been tested with MyFaces 1.1.3, TOMAHAWK 1.1.3, and Websphere 6.1.0.2.''
  
  == 1. Copy the MyFaces JSF jars and dependencies to WebApp lib (follow step 1 of the Websphere 6.0 Installation Guide without removing IBM jars below). ==
- 
  Make sure you do NOT copy commons-logging-1.0.4 jar (conflicts with the commons-logging jar already provided by Websphere) and also jsp-2.0.jar (which will cause a "com.ibm.ws.jsp.taglib.TldParser logParseErrorMessage: The JSP container failed to load the TagExtraInfo class" exception with JSF applications that use tiles).
  
  == 2. Deploy the web application on WAS. ==
- 
  == 3. Alter the module classloader policy to application first. ==
-  
  Note that there are several ways to set the classloader policy in websphere (at the server, application, and module level). You need to set it at the module level as follows: Click on Enterprise Applications > Your application > Manage Modules > Your war file > Change Class loader order to "Classes loaded with application class loader first"
  
  == 4. Start your application. ==
- 
- If the extension-Filter does not work properly, it might help to set the property '''com.ibm.ws.webcontainer.invokefilterscompatibility=true'''. Instructions can be found at [[http://www-1.ibm.com/support/docview.wss?uid=swg24014758|this]] IBM support site. 
+ If the extension-Filter does not work properly, it might help to set the property '''com.ibm.ws.webcontainer.invokefilterscompatibility=true'''. Instructions can be found at [[http://www-1.ibm.com/support/docview.wss?uid=swg24014758|this]] IBM support site.
- 
  
  = Websphere 6.0 Installation Guide =
- 
  ****Please note that removing any of the jars from the WebSphere lib directory as described in these instructions is unsupported by IBM.  If you wish to maintain support you can use the alternate WebSphere 6.0 instructions below that do not remove the IBM jars ****
  
  == 1. Remove Webspheres JSF API and Implementation ==
- 
  Remove Jsf API and Jsf Impl from Webshpere AppServer/lib dir
  
-   * AppServer/lib/jsf-api.jar - '''remove'''
+  * AppServer/lib/jsf-api.jar - '''remove'''
-   * AppServer/lib/ws-jsf.jar - '''remove'''
+  * AppServer/lib/ws-jsf.jar - '''remove'''
  
  == 2. Copy the MyFaces JSF API to WAS ==
+ Copy the MyFaces API to AppServer/lib dir
  
- Copy the MyFaces API to AppServer/lib dir
-    
-   * myfaces-api.jar - '''copy to AppServer/lib'''
+  * myfaces-api.jar - '''copy to AppServer/lib'''
  
  == 3. Add commons classes to WAS ==
+ Copy commons classes to AppServer/lib dir
  
- Copy commons classes to AppServer/lib dir
-    
-    * commons-beanutils.jar
+  * commons-beanutils.jar
-    * commons-codec.jar
+  * commons-codec.jar
-    * commons-collections.jar
+  * commons-collections.jar
-    * commons-digester.jar
+  * commons-digester.jar
-    * commons-lang.jar
+  * commons-lang.jar
-    
+ 
  For library versions see [[http://wiki.apache.org/myfaces/Library_dependencies|Library dependencies]]
  
  == 4. Remove MyFaces API from your web archive ==
+  * myfaces-api.jar - '''remove from war'''
  
-     * myfaces-api.jar - '''remove from war'''
- 
- == 5. Deploy web application on WAS  ==
+ == 5. Deploy web application on WAS ==
-  
  Nothing special here, just use Classloader option "Parent first"
  
  == 6. Optional / untested ==
- You may also add the MyFaces Jsf Implementation myfaces-impl.jar to the AppServer/lib dir.
+ You may also add the MyFaces Jsf Implementation myfaces-impl.jar to the AppServer/lib dir. It should work with MyFaces Core >= 1.1.2
- It should work with MyFaces Core >= 1.1.2
  
+ '''Attention:''' Do not copy a myfaces-impl to AppServer/lib dir that depends on the old myfaces-commons library.<<BR>> Reason: Classloader problems may show up, when MyFaces-Impl and MyFaces-Tomahawk reference different myfaces-commons.jar versions.<<BR>> In MyFaces 1.1.2 the commons project was refactored and is now called shared.<<BR>> The shared classes are part of both myfaces-impl and myfaces-tomahawk. To avoid classloader problems due to different versions of shared classes the package names are  different for impl and tomahawk. <<BR>>
- '''Attention:''' Do not copy a myfaces-impl to AppServer/lib dir that depends on the old myfaces-commons library.<<BR>>
- Reason: Classloader problems may show up, when MyFaces-Impl and MyFaces-Tomahawk reference different myfaces-commons.jar versions.<<BR>>
- In MyFaces 1.1.2 the commons project was refactored and is now called shared.<<BR>>
- The shared classes are part of both myfaces-impl and myfaces-tomahawk. To avoid
- classloader problems due to different versions of shared classes the package names are 
- different for impl and tomahawk. <<BR>>
- 
- 
  
  = Websphere 6.0 Installation Guide (without removing IBM jars) =
+ ''This is a simple procedure to use MyFaces, TOMAHAWK (and even ADF Faces) on a Websphere 6 webapp just using its "PARENT_LAST" property.  This procedure is being tested without any problem until now on a Websphere BASE 6.0.0.0 o0444.14. This requires access to the internet, because the ibm implementation of JSF tries to resolve the faces-config.xml dtd'' This, however, can be circumvented by replacing all references to ''web-facesconfig_1_1.dtd'' with a reference to ''web-facesconfig_1_0.dtd''. For example, a faces config like this:
- 
- 
- ''This is a simple procedure to use MyFaces, TOMAHAWK (and even ADF Faces) on a Websphere 6 webapp just using its "PARENT_LAST" property. 
- This procedure is being tested without any problem until now on a Websphere BASE 6.0.0.0 o0444.14.
- This requires access to the internet, because the ibm implementation of JSF tries to resolve the faces-config.xml dtd''
- This, however, can be circumvented by replacing all references to ''web-facesconfig_1_1.dtd'' with a reference to ''web-facesconfig_1_0.dtd''.
- For example, a faces config like this:
  
  {{{
  <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems,
  Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
  }}}
- 
  must be replaced as follows:
  
  {{{
  <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems,
  Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
  }}}
+ == 1. Copy the MyFaces JSF jars and dependencies to WebApp lib ==
+ Copy jars to ${WebApp}/WEB-INF//lib dir <<BR>>
  
- == 1. Copy the MyFaces JSF jars and dependencies to WebApp lib ==
+  . '''MyFaces & Tomahawk'''
+  * myfaces-api-1.1.3.jar
+  * myfaces-impl-1.1.3.jar
+  * tomahawk-1.1.2.jar
  
+ <<BR>>
  
- Copy jars to ${WebApp}/WEB-INF//lib dir
+  . '''Commons''' ''(everything but commons-logging-1.0.4.jar)''
+  * commons-beanutils-1.7.0.jar
+  * commons-codec-1.3.jar
+  * commons-collections-3.1.jar
+  * commons-digester-1.6.jar
+  * commons-el-1.0.jar
+  * commons-lang-2.1.jar
+  * jstl-1.1.0.jar
+ 
  <<BR>>
-    '''MyFaces & Tomahawk'''
-    * myfaces-api-1.1.3.jar
-    * myfaces-impl-1.1.3.jar
-    * tomahawk-1.1.2.jar
+ 
+  . ''(Optional)'' '''Oracle ADF jars'''
+  * commons-beanutils-1.7.0.jar
+  * adf-faces-api-10_1_3_0_4.jar
+  * adf-faces-impl-10_1_3_0_4.jar
+  * adfshare-3549S.jar
+ 
  <<BR>>
-    '''Commons''' ''(everything but commons-logging-1.0.4.jar)''
-    * commons-beanutils-1.7.0.jar
-    * commons-codec-1.3.jar
-    * commons-collections-3.1.jar
-    * commons-digester-1.6.jar
-    * commons-el-1.0.jar
-    * commons-lang-2.1.jar
-    * jstl-1.1.0.jar
- <<BR>>
-    ''(Optional)'' '''Oracle ADF jars'''
-    * commons-beanutils-1.7.0.jar
-    * adf-faces-api-10_1_3_0_4.jar
-    * adf-faces-impl-10_1_3_0_4.jar
-    * adfshare-3549S.jar
- <<BR>>
-    ''(Optional, to make Tiles work)'' '''Struts-Tiles dependencies'''
-    * struts.jar
-    * jakarta-oro.jar
-    * antlr.jar
  
+  . ''(Optional, to make Tiles work)'' '''Struts-Tiles dependencies'''
+  * struts.jar
+  * jakarta-oro.jar
+  * antlr.jar
+ 
- == 2. Deploy web application on WAS  ==
+ == 2. Deploy web application on WAS ==
-  
  Use Classloader option "Parent last"
  
- = Websphere 5.1.X  Installation Guide  =
+ = Websphere 5.1.X  Installation Guide =
- 
  == 1. Use Classloader option "Parent last" ==
- 
  == 2. List of files in WAR's lib, some files may not be needed, but it works for me. ==
- 
-    * antlr-2.7.6rc1.jar
+  * antlr-2.7.6rc1.jar
-    * cglib-nodep-2.1_2.jar
+  * cglib-nodep-2.1_2.jar
-    * commons-beanutils-1.7.0.jar
+  * commons-beanutils-1.7.0.jar
-    * commons-codec-1.3.jar
+  * commons-codec-1.3.jar
-    * commons-collections-3.1.jar
+  * commons-collections-3.1.jar
-    * commons-digester-1.6.jar
+  * commons-digester-1.6.jar
-    * commons-el-1.0.jar
+  * commons-el-1.0.jar
-    * commons-lang-2.1.jar
+  * commons-lang-2.1.jar
-    * dom4j-1.6.1.jar
+  * dom4j-1.6.1.jar
-    * ehcache-1.1.jar
+  * ehcache-1.1.jar
-    * el-api-1.0.jar
+  * el-api-1.0.jar
-    * el-ri-1.0.jar
+  * el-ri-1.0.jar
-    * hibernate-3.1.2.jar
+  * hibernate-3.1.2.jar
-    * jsfExt.jar
+  * jsfExt.jar
-    * jsf-facelets-1.1.11.jar
+  * jsf-facelets-1.1.11.jar
-    * jstl-1.1.0.jar
+  * jstl-1.1.0.jar
-    * myfaces-api-1.1.3.jar
+  * myfaces-api-1.1.3.jar
-    * myfaces-impl-1.1.3.jar
+  * myfaces-impl-1.1.3.jar
-    * ojdbc14.jar
+  * ojdbc14.jar
-    * oscache-2.3.1.jar
+  * oscache-2.3.1.jar
-    * portals-bridges-common-1.0.jar
+  * portals-bridges-common-1.0.jar
-    * portals-bridges-frameworks-1.0.jar
+  * portals-bridges-frameworks-1.0.jar
-    * portals-bridges-jsf-1.0.jar
+  * portals-bridges-jsf-1.0.jar
-    * portals-bridges-portletfilter-1.0.jar
+  * portals-bridges-portletfilter-1.0.jar
-    * spring-1.2.6.jar
+  * spring-1.2.6.jar
-    * tagHandlers.jar
+  * tagHandlers.jar
-    * tomahawk-1.1.5-SNAPSHOT.jar
+  * tomahawk-1.1.5-SNAPSHOT.jar
-    * tomahawk-sandbox-1.1.5-SNAPSHOT.jar
+  * tomahawk-sandbox-1.1.5-SNAPSHOT.jar
-    * '''jsp-api.jar'''
+  * '''jsp-api.jar'''
  
  == 3. Use pluto to test first, but needs to remove jsp-api.jar for pluto. ==
- 
  use "org.apache.portals.bridges.jsf.FacesPortlet" bridge instead of "org.apache.myfaces.portlet.MyFacesGenericPortlet" to work with pluto. (inside portlet.xml)