Differences between revisions 2 and 3
Revision 2 as of 2006-08-09 13:56:15
Size: 3304
Comment: Format and grammar changes
Revision 3 as of 2009-09-20 23:02:00
Size: 3304
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

How to upgrade to 1.1.3

How to upgrade to version 1.1.3 of !MyFaces/Tomahawk with JBOSS

1. Update libraries:

  • Remove myfaces*-libraries from jboss
    • (JBOSS_HOME\server\<name>\deploy\jbossweb-tomcat55.sar\jsf-libs)

  • Make sure you have the same versions of all the commons*-libraries in jboss as in WEB-INF/lib
    • (If necessary copy/replace)
  • Replace myfaces-api.jar with new version (myfaces-api-1.1.3.jar)
  • Replace myfaces-impl.jar with new version (myfaces-impl-1.1.3.jar)
  • Replace tomahawk.jar with new version (tomahawk-1.1.3.jar)

2. Update web.xml

  • Add following servlet:

        <servlet>
            <servlet-name>SourceCodeServlet</servlet-name>
            <servlet-class>org.apache.myfaces.shared_tomahawk.util.servlet.SourceCodeServlet</servlet-class>
        </servlet>
  • Modify filter-class of extension-filter (tomahawk-filter)
    • #change filter-class from

            <filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
  • #to

            <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
  • Add filter-mappings if not already present:

        <filter-mapping>
                <filter-name>extensionsFilter</filter-name>
                <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
                </filter-mapping>

        <filter-mapping>
                <filter-name>extensionsFilter</filter-name>
                <url-pattern>*.jsf</url-pattern>
        </filter-mapping>

        <filter-mapping>
                <filter-name>extensionsFilter</filter-name>
                <url-pattern>*.jsp</url-pattern>
        </filter-mapping>

3. Update jsp-pages

  • In version 1.1.3 all <h:*> tags needs to be within a <h:form> and </h:form> tag.

    • (Because dummyForm has been removed from the implementation)

      The easiest thing to do is just to add a <h:form> tag just within the <body> tag, in this way you make sure that all <h:*> tags exist within the form tags. But this can result in a commandLink that doesn't execute its action. If this is the case you have to add <h:form> for each element.

      • Example:

                        <html>
                                 <body>
                                        <h:form>
                                                        ....
                                                        ....
                                        </h:form>
                                 </body>
                        </html>

4. GOOD TO GO! :)

5. POSSIBLE ERRORS/EXCEPTIONS THAT MIGHT OCCUR:

  • Error
    • # Explanation / what to do
  • java.lang.NoClassDefFoundError: org/apache/myfaces/custom/buffer/!HtmlBufferResponseWriterWrapper

    • # The class exist in the Tomahawk.jar, but has changed package from org/apache/myfaces/custom/buffer/ to org\apache\myfaces\renderkit\html\util.
  • java.lang.IllegalStateException: ExtensionsFilter not correctly configured. JSF mapping missing. JSF pages not covered. Please see: http://myfaces.apache.org/tomahawk/extensionsFilter.html org.apache.myfaces.renderkit.html.util.AddResourceFactory.throwExtensionsFilterMissing

    • # Check that the filter-mappings are ok. The problem could have something to do with the include of .jsp pages in other pages, for example <%@include file="header.jsp" %>. So make sure that the mapping for .jsp pages exist and is correct

  • java.lang.NoSuchMethodError: .DummyFormUtils.isWriteDummyForm...

    • # Make sure that all <t, <h, components exists within a <h:form> tag

From_1.1.1_to_1.1.3_with_Jboss (last edited 2009-09-20 23:02:00 by localhost)