Question: I want to create multiple projects with the same files but the files are going to be in different locations. I don't have idea how to be able to share same code with multiple projects that basically hasn't the same folder structure (something like I want to do git on subfolder and not on the root folder) so I don't need to take changes manually each time and to paste it in each project I have

**Example:** 

> 
> project1: dirA/dirD/src
> 
> 
> project2: dirX/dirY/dirZ/dirB/dirH/src
> 
> 
> src -> the shared sub folder
> 
> 
> 

Any suggestion for me?

Answer: 
In general, I'd say prefer them than JSF standard components, the reason is simple: CSS skinning. For example, even if `h:inputText` and `p:inputText` are exactly the same component, you might want to have the same CSS skinning for all JSF components (specially if you use a premium layout from PF)

But, I think there are few exceptions:

* If you use JSF 2.3. For example, I'd rather use `h:commandScript` than `p:remoteCommand`. As they're not "visual" components, I'd prefer to use standard components. See also what works better for you ;-)
* Also, Oleg presents some performance killer using PF components in datatable, see here <http://ovaraksin.blogspot.com/2013/05/jsf-choice-between-legacy-components.html>
Better choose one of them and develop all application using mainly one stack. Will be easy to support, easy update, easy bug fix.
Primefaces at the moment good choose.