Facets define characteristics and requirements
for Java EE projects and are used as part of the runtime configuration.
When you add a facet to a project, that project is configured
to perform a certain task, fulfill certain requirements, or have certain characteristics.
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
You can add facets only to Java EE projects and other types of projects
that are based on J2EE projects, such as enterprise application projects,
dynamic Web projects, and EJB projects. You cannot add facets to a Java™ project
or plug-in project, for example. Typically, a facet-enabled project has at
least one facet when it is created, allowing you to add more facets if necessary.
For example, a new EJB project has the EJB Module facet. You can then add
other facets to this project like the EJBDoclet (XDoclet) facet. To add a
facet to a project, see
Adding a facet to a Java EE project.
Some facets require other facets as prerequisites. Other facets cannot
be in the same project together. For example, you cannot add the Dynamic Web
Module facet to an EJB project because the EJB project already has the EJB
Module facet. Some facets can be removed from a project and others cannot.
Facets also have version numbers. You can change the version numbers of
facets as long as you stay within the requirements for the facets. To change
the version number of a facet, see
Changing the version of a facet.