I am trying to put versioning around the resources in an application.
If I do like this resources/js/1_0_0/mainscript.js
It does not work. It says RESOURCE_NOT_FOUND
but when I do like this
resources/js/mainscript.js/1_0_0.js
It works. I do not like the way it is organized in the second way. First one looks cool. Any Idea?
I am using Tomcat 7.0, JSF 2.0.9
Update: I was checking primefaces-2-2.1.jar. Since when I checked the page source, I saw this /javax.faces.resource/jquery/jquery.js.xhtml?ln=primefaces&v=2.2.1">
Then I looked at META-INF/resources/primefaces/jquery/jquery.js
They did not have any versioning in there but how did it append v=2.2.1 in the head
This will work if you specify
js
as library name.However, this is not the proper usage of a resource library. Rather introduce one.
Then you can specify it as follows:
It's done by
PrimeResource
which kicks in on resource requests withln=primefaces
parameter. ItsgetRequestPath()
has the following implementation:Where
Constants
is the PrimeFaces specific constants file which is updated with every PF version.