2

I am having an issue with Apache Tomahawk - Glassfish 3.0.1 keeps logging:

WARNING: JSF1064: Unable to find or serve resource, inputFileUpload.xhtml, from library, org.apache.myfaces.custom.

I have the following libraries included in /lib:

  • tomahawk20-1.1.10.jar
  • commons-collections-3.2.1.jar
  • commons-io-1.4.jar
  • commons-fileupload-1.2.1.jar
  • commons-logging-1.1.1.jar

Here is my web.xml.

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <!-- Context Params -->
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <context-param>
        <param-name>com.sun.faces.allowTextChildren</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>
    <context-param>
        <param-name>primefaces.PRIVATE_CAPTCHA_KEY</param-name>
        <param-value>6Lfm9L4SAAAAALtVsc5E-9pvHmJueDxSXtnNahV9</param-value>
    </context-param>
    <context-param>
        <param-name>primefaces.PUBLIC_CAPTCHA_KEY</param-name>
        <param-value>6Lfm9L4SAAAAADKCm-Gi4rYLvo_B2ddLLTkvktAO</param-value>
    </context-param>

    <!-- File Upload Paths -->
    <context-param>
        <param-name>UPLOAD_DATA_URL</param-name>
        <param-value>/resources/app/uploads/data/</param-value>
    </context-param>
    <context-param>
        <param-name>UPLOAD_DTS_URL</param-name>
        <param-value>/resources/app/uploads/dts/</param-value>
    </context-param>
    <context-param>
        <param-name>UPLOAD_VALIDATORS_URL</param-name>
        <param-value>/resources/app/uploads/validators/</param-value>
    </context-param>

    <!-- MS Windows-based context parameters (DEV). See PROJECT_STAGE. -->
    <context-param>
        <description>Specifies the MS Windows path separator.</description>
        <param-name>WIN_PATH_SEPARATOR</param-name>
        <param-value>\</param-value>
    </context-param>
    <context-param>
        <description>Specifies the MS Windows file server path for base-level file IO.</description>
        <param-name>WIN_FILE_SVR_PATH</param-name>
        <param-value>\</param-value>
    </context-param>

    <!-- For Apache TomaHawk MyFaces -->
    <context-param>
        <param-name>org.apache.myfaces.CHECK_EXTENSIONS_FILTER</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>org.apache.myfaces.RESOURCE_VIRTUAL_PATH</param-name>
        <param-value>/faces/myFacesExtensionResource</param-value>
    </context-param>

    <!-- Filters -->
    <filter>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
        <init-param>
            <param-name>uploadMaxFileSize</param-name>
            <param-value>5m</param-value>
        </init-param>
        <init-param>
            <param-name>uploadThresholdSize</param-name>
            <param-value>100k</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
    </filter-mapping>
    <!--
    <filter-mapping>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <url-pattern>*.xhtml</url-pattern>
    </filter-mapping>
    -->

    <!-- Servlets -->
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>Resource Servlet</servlet-name>
        <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Resource Servlet</servlet-name>
        <url-pattern>/primefaces_resource/*</url-pattern>
    </servlet-mapping>

    <!-- Mime Types -->
    <mime-mapping>
        <extension>xls</extension>
        <mime-type>application/vnd.ms-excel</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>xlxs</extension>
        <mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>doc</extension>
        <mime-type>application/msword</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>docx</extension>
        <mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>dat</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>zip</extension>
        <mime-type>application/zip</mime-type>
    </mime-mapping>


    <!-- Session Management -->
    <session-config>
        <session-timeout>60</session-timeout>
    </session-config>
    <!-- Pages -->
    <welcome-file-list>
        <welcome-file>faces/authenticate.xhtml</welcome-file>
    </welcome-file-list>
    <!-- Exceptions -->
</web-app>

In my Facelet, I am using xmlns:t="http://myfaces.apache.org/tomahawk", but when browsing tags, I don't see <t:inputFileUpload> at all. What am I doing wrong?

1
  • I wonder how to get rid of this warning... does anybody happen to know? I'm using Tomahawk, but not MyFaces (Mojarra instead). Commented Jun 1, 2012 at 13:37

1 Answer 1

1

Tomahawk requires more JARs than that. You must have seen Tomahawk initialization warnings/errors during server startup. For example, oro-2.0.8.jar is also mandatory.

See also:

Sign up to request clarification or add additional context in comments.

1 Comment

Thanks for the feedback BalusC! I did eventually include oro-2.0.8.jar in my classpath but no cigar. I resolved the fileupload issue by implementing your posted solution "Uploading files with JSF 2.0 and Servlet 3.0" and using an iframe. It should be noted that Netbeans nightly build > 5/30 contains a fix for parsing libraries with composite components, which caused NBs to interpret t:inputFileUpload as an error. Best to you!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.