Using
Maven to manage the project, the src/main/resources directories were not copied by default. Maven only copied the resources directory into the target WAR when explicitly directed in the pom.xml ... and this was using straight JSF 2.0 (not Richfaces, Primefaces or Icefaces). This is with Maven 2.2.1.
If I wasn't using a Maven-generated project, and simply had a "built-from-scratch" project, then the resource folders would have been included in the WAR. I hadn't seen anything like that before (not in the six years I've been using Faces - but that's probably because I normally build the pom.xml based on the project I'm actually working with. This time, in doing my refresher, I took a short-cut and ended up with the same symptoms as the OP (which is how I found the OP five years after the fact.)
When deploying the Maven-produced WAR to
Tomcat, there was no resources folder in the webapp tree at all - and the reason I looked at the directory of the deployed webapp was because when I looked at the page-source of the home.jsf, JSF put in a src="RES_NOT_FOUND" message in the rendered home.jsf where the path to the Resource file should be.
Basically, what I'm saying is that when my pom.xml directive is correctly configured, the library= attribute works just fine.
What the OP should check is to see if the deployed webapp directory actually has the resources folder included - and if not, make sure that it's included in the project tree AND that any build files (such as Maven's pom.xml) are configured properly.