I wonder not only what is Facet but also what is Facet \'in physical level\' (as I understand it\'s not a separate jar, but what?)?
I also wonder how can it affect m
As explained in Eclipse & Intellij documentation, Facets define characteristics and requirements (certain configuration, specific for a particular framework/technology).
When you add a facet to a project, that project is configured to perform a certain task, fulfill certain requirements, or have certain characteristics.
In Brief You Have to Follow Some structure to Implement some framework/technology. IDEs have options to implement it for you to make your life easier.
To elaborate it in details I am giving some thorough details directly from Eclipse Documentations. This is Eclipse specific.
While creating a project you will get the option to implement facet for your project. For example, the EAR facet sets up a project to function as an enterprise application by adding a deployment descriptor and setting up the project's classpath.
To add another facet to a project that already exists, complete the following steps:
Note: Only the facets that are valid for the project are listed
Some facets may not work together. Thus, you can also choose a preset combination of facets from the Presets list.
Facets also have version numbers in Eclipse. You can change the version numbers of facets as long as you stay within the requirements for the facets. To change the version of a facet in your project, complete the following steps:
You can do more things with the facets. I have given the examples for your better understanding. For details, please go through the documentation of your favorite IDE.