title: JSF 2.1.13 custom component not found: Tag Library supports namespace: <namsepace> but no tag was defined for name: <compositecomponent>
body: <h1>Problem</h1>
  
  <p>I am using <code>JSF 2.1.13</code> to create a prototype to demostrate the benefits of JSF over our current webapp built with <code>JSP</code> and <code>struts 1.1</code>.  I following code using works with <code>JSF 2.2.6</code>, but I had to down grade once I found out that Oracle Weblogic 12c doesn't support JSF 2.2 yet.  When running the code with 2.1.13 I receive the following error:</p>
  
  <pre><code>/pages/sites/tab-details.xhtml @27,90 &lt;ccc:codedType&gt; Tag Library supports namespace: http://java.sun.com/jsf/composite/ccc, but no tag was defined for name: codedType
  </code></pre>
  
  <p>Googling only pointed me to a <a href="https://stackoverflow.com/questions/10898906">bug about nested composite components</a>, but that isn't something I'm doing.</p>
  
  <h1>Code</h1>
  
  <h2>Excerpt from <code>pom.xml</code></h2>
  
  <pre><code>&lt;!-- JSF Dependencies --&gt;
  &lt;dependency&gt;
    &lt;groupId&gt;com.sun.faces&lt;/groupId&gt;
    &lt;artifactId&gt;jsf-api&lt;/artifactId&gt;
    &lt;version&gt;2.1.13&lt;/version&gt;
  &lt;/dependency&gt;
  &lt;dependency&gt;
    &lt;groupId&gt;com.sun.faces&lt;/groupId&gt;
    &lt;artifactId&gt;jsf-impl&lt;/artifactId&gt;
    &lt;version&gt;2.1.13&lt;/version&gt;
  &lt;/dependency&gt;
  </code></pre>
  
  <h2>Composite Compontent: <code>webapp/WEB-INF/resources/ccc/codedType.xhtml</code></h2>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;ui:component xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:cc="http://java.sun.com/jsf/composite"&gt;
    &lt;cc:interface shortDescription="Renders a CodedType"&gt;
      &lt;cc:attribute name="value" required="true"
        shortDescription="Instance of CodedType to be properly rendered"
        type="company.prototype.uireplacement.presenter.CodedType" /&gt;
      &lt;cc:attribute name="includeCode"
        shortDescription="Whether or not the rendeder type should include the code"
        type="boolean" default="false"/&gt;
    &lt;/cc:interface&gt;
  
    &lt;cc:implementation&gt;
      &lt;span id="#{cc.attrs.id}"&gt;#{cc.attrs.value.label}&lt;ui:fragment rendered="#{cc.attrs.includeCode}"&gt; (#{cc.attrs.value.code})&lt;/ui:fragment&gt;&lt;/span&gt;
    &lt;/cc:implementation&gt;
  &lt;/ui:component&gt;
  </code></pre>
  
  <h2>Page using composite component: <code>webapp/pages/sites/tab-details.xhtml</code></h2>
  
  <pre><code>&lt;ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:ccc="http://java.sun.com/jsf/composite/ccc"&gt;
  
        &lt;ccc:codedType value="#{siteControllerBean.selectedSite.type}" includeCode="true"/&gt;
  &lt;/ui:composition&gt;
  </code></pre>