title: Apache Tomahawk FileUpload Not Working
body: <p>I am having an issue with Apache Tomahawk - Glassfish 3.0.1 keeps logging:</p>
  
  <blockquote>
    <p>WARNING: JSF1064: Unable to find or serve resource, inputFileUpload.xhtml, from library, org.apache.myfaces.custom.</p>
  </blockquote>
  
  <p>I have the following libraries included in /lib:</p>
  
  <ul>
  <li>tomahawk20-1.1.10.jar</li>
  <li>commons-collections-3.2.1.jar</li>
  <li>commons-io-1.4.jar</li>
  <li>commons-fileupload-1.2.1.jar</li>
  <li>commons-logging-1.1.1.jar</li>
  </ul>
  
  <p>Here is my web.xml.</p>
  
  
  
  <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;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"&gt;
      &lt;!-- Context Params --&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;javax.faces.PROJECT_STAGE&lt;/param-name&gt;
          &lt;param-value&gt;Development&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;com.sun.faces.allowTextChildren&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;javax.faces.FACELETS_SKIP_COMMENTS&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;
          &lt;param-value&gt;server&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;primefaces.PRIVATE_CAPTCHA_KEY&lt;/param-name&gt;
          &lt;param-value&gt;6Lfm9L4SAAAAALtVsc5E-9pvHmJueDxSXtnNahV9&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;primefaces.PUBLIC_CAPTCHA_KEY&lt;/param-name&gt;
          &lt;param-value&gt;6Lfm9L4SAAAAADKCm-Gi4rYLvo_B2ddLLTkvktAO&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;!-- File Upload Paths --&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;UPLOAD_DATA_URL&lt;/param-name&gt;
          &lt;param-value&gt;/resources/app/uploads/data/&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;UPLOAD_DTS_URL&lt;/param-name&gt;
          &lt;param-value&gt;/resources/app/uploads/dts/&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;UPLOAD_VALIDATORS_URL&lt;/param-name&gt;
          &lt;param-value&gt;/resources/app/uploads/validators/&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;!-- MS Windows-based context parameters (DEV). See PROJECT_STAGE. --&gt;
      &lt;context-param&gt;
          &lt;description&gt;Specifies the MS Windows path separator.&lt;/description&gt;
          &lt;param-name&gt;WIN_PATH_SEPARATOR&lt;/param-name&gt;
          &lt;param-value&gt;\&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;description&gt;Specifies the MS Windows file server path for base-level file IO.&lt;/description&gt;
          &lt;param-name&gt;WIN_FILE_SVR_PATH&lt;/param-name&gt;
          &lt;param-value&gt;\&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;!-- For Apache TomaHawk MyFaces --&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;org.apache.myfaces.CHECK_EXTENSIONS_FILTER&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;org.apache.myfaces.RESOURCE_VIRTUAL_PATH&lt;/param-name&gt;
          &lt;param-value&gt;/faces/myFacesExtensionResource&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;!-- Filters --&gt;
      &lt;filter&gt;
          &lt;filter-name&gt;MyFacesExtensionsFilter&lt;/filter-name&gt;
          &lt;filter-class&gt;org.apache.myfaces.webapp.filter.ExtensionsFilter&lt;/filter-class&gt;
          &lt;init-param&gt;
              &lt;param-name&gt;uploadMaxFileSize&lt;/param-name&gt;
              &lt;param-value&gt;5m&lt;/param-value&gt;
          &lt;/init-param&gt;
          &lt;init-param&gt;
              &lt;param-name&gt;uploadThresholdSize&lt;/param-name&gt;
              &lt;param-value&gt;100k&lt;/param-value&gt;
          &lt;/init-param&gt;
      &lt;/filter&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;MyFacesExtensionsFilter&lt;/filter-name&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
      &lt;/filter-mapping&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;MyFacesExtensionsFilter&lt;/filter-name&gt;
          &lt;url-pattern&gt;/faces/myFacesExtensionResource/*&lt;/url-pattern&gt;
      &lt;/filter-mapping&gt;
      &lt;!--
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;MyFacesExtensionsFilter&lt;/filter-name&gt;
          &lt;url-pattern&gt;*.xhtml&lt;/url-pattern&gt;
      &lt;/filter-mapping&gt;
      --&gt;
  
      &lt;!-- Servlets --&gt;
      &lt;servlet&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
          &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
      &lt;/servlet&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
      &lt;servlet&gt;
          &lt;servlet-name&gt;Resource Servlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;org.primefaces.resource.ResourceServlet&lt;/servlet-class&gt;
      &lt;/servlet&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;Resource Servlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/primefaces_resource/*&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  
      &lt;!-- Mime Types --&gt;
      &lt;mime-mapping&gt;
          &lt;extension&gt;xls&lt;/extension&gt;
          &lt;mime-type&gt;application/vnd.ms-excel&lt;/mime-type&gt;
      &lt;/mime-mapping&gt;
      &lt;mime-mapping&gt;
          &lt;extension&gt;xlxs&lt;/extension&gt;
          &lt;mime-type&gt;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&lt;/mime-type&gt;
      &lt;/mime-mapping&gt;
      &lt;mime-mapping&gt;
          &lt;extension&gt;doc&lt;/extension&gt;
          &lt;mime-type&gt;application/msword&lt;/mime-type&gt;
      &lt;/mime-mapping&gt;
      &lt;mime-mapping&gt;
          &lt;extension&gt;docx&lt;/extension&gt;
          &lt;mime-type&gt;application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;/mime-type&gt;
      &lt;/mime-mapping&gt;
      &lt;mime-mapping&gt;
          &lt;extension&gt;dat&lt;/extension&gt;
          &lt;mime-type&gt;application/octet-stream&lt;/mime-type&gt;
      &lt;/mime-mapping&gt;
      &lt;mime-mapping&gt;
          &lt;extension&gt;zip&lt;/extension&gt;
          &lt;mime-type&gt;application/zip&lt;/mime-type&gt;
      &lt;/mime-mapping&gt;
  
  
      &lt;!-- Session Management --&gt;
      &lt;session-config&gt;
          &lt;session-timeout&gt;60&lt;/session-timeout&gt;
      &lt;/session-config&gt;
      &lt;!-- Pages --&gt;
      &lt;welcome-file-list&gt;
          &lt;welcome-file&gt;faces/authenticate.xhtml&lt;/welcome-file&gt;
      &lt;/welcome-file-list&gt;
      &lt;!-- Exceptions --&gt;
  &lt;/web-app&gt;
  </code></pre>
  
  <p>In my Facelet, I am using <code>xmlns:t="http://myfaces.apache.org/tomahawk"</code>, but
  when browsing tags, I don't see <code>&lt;t:inputFileUpload&gt;</code> at all. What am I doing wrong?</p>