JSF2 made an promising attempt to provide versatile resource versioning but obviously has failed this. After I had used weblets for a while I tried to migrate some JSF2 web application to adhere to this standard. Unfortunately I had to figure out that resource versioning does not work as it has been proposed in the JSF2 spec.
Seem that doing versioning of resources loaded from a classpath location has given the JSF2 implementation team a hard time. The spec was suggesting that a JAR could contain a version number for either the library or even the resource name (e.g. META-INF/resources/library-name/version/resource-name) as described in the blog entry linked above.
Versioning only works for resources loaded from the webroot (e.g webroot/resources/library-name/version/resource-name…) and it looks like the next version of the JSF spec will drop some of the versioning features again.