JavaEE中的“Facet”是什么?

我不仅想知道Facet是什么,而且还知道Facet在“物理层面”是什么(据我所知,它不是一个单独的jar,而是什么?)?

我也想知道如何影响我的应用程序部署后。 我将以真实的例子来解释:

我有2个方面(由IDE创build):Spring Facet和Web Facet(用于jsf)。 我部署到Tomcat和我的应用程序工作正常。

然后,我通过IDE添加了另外一个方面 – JPA Facet。 我重新部署的应用程序,它仍然工作正常:)

所以,我只是好奇这是什么,为什么我们需要它?

这不是Java EE相关的。 这是IDE相关的。 这个术语本身并不涉及编程。

http://www.thefreedictionary.com/facet

fac·et (fst) n

  1. 其中一个平坦的抛光表面切割在gem上或在水晶上自然发生。
  2. 解剖一个小的,光滑的,平坦的表面,如在骨头或牙齿上。
  3. 生物学复眼的镜片状视觉单位之一,如昆虫。
  4. 其中一个方面,作为一个主题。 请参阅阶段中的同义词。

这是4。

在这个特定的情况下,这只是在项目中使用的一个方面,以便IDE可以在发生器,向导,自动包含库等方面拦截它。 如果您添加例如JPA方面,那么您将获得更多选项来使用JPA执行IDE魔术。

正如BalusC所说,这不是与Java EE相关的,而是与IDE相关的。 这允许以灵活的方式将“特性”添加到项目中。

从Eclipse用户的IntelliJ IDEA问答 (因为您提到了IDEA):

问:方面 – 他们是什么?

答:简化项目configuration。

方面封装了对各种框架,技术和语言的支持。 例如,要在项目中启用Spring,只需添加相应的构面。 所有库都被下载和configuration,您可以获得全面的编码帮助,重构等。此外,代码模型也被认可,所以您完全不必担心任何configuration问题。

在大多数情况下,您可以向项目中添加多个相同types的构面。 例如,可以有多个Web方面将应用程序部署到不同的服务器,或者有多个EJB方面,每个EJB方面都有自己的EJB版本。 (另请参阅项目configuration 。)

而且,Eclipse也使用“Facets”:

替代文字

AFAIK,NetBeans不会(请参阅Q:如何为我的项目configurationWeb框架? )。

Facets是一个Web应用程序框架,它为服务器端提供了一个简单的MVC体系结构,并为客户端提供了function丰富的Javascript组件模型。 这两个部分被devise为无缝集成非常dynamic的AJAX风格的应用程序

正如Eclipse和Intellij文档中所解释的,Facets定义了特性和需求(特定的configuration,特定的框架/技术)。

将方面添加到项目时,该项目被configuration为执行特定任务,满足特定要求或具有某些特性。

简而言之,你必须遵循一些结构来实现一些框架/技术。 IDE有实现它的选项可以让你的生活更轻松。

详细阐述它,我直接从Eclipse文档中提供一些详细的细节。 这是Eclipse特定的

创build项目时,您可以select实施项目的方面。 例如,EAR构面通过添加部署描述符和设置项目的类path来设置一个项目作为企业应用程序。

要将另一个方面添加到已存在的项目 ,请完成以下步骤:

  1. 在Java™EE透视图的“项目资源pipe理器”视图中,右键单击项目,然后select“属性”。
  2. 在属性窗口中selectProject Facets页面。 此页面列出项目中的方面及其版本。
  3. 单击修改项目,然后选中您希望项目具有的构面旁边的checkbox。

注意:只列出对项目有效的构面

有些方面可能不能一起工作。 因此,您也可以从“预设”列表中select预设的组合面

  1. 通过单击当前版本号并从下拉列表中select所需的版本号,为该方面select一个版本号。
  2. 可选:要删除构面,请清除其checkbox。 并不是所有的方面都可以被删除。
  3. 可选:如果要限制项目以便与一个或多个运行时兼容,请单击运行时选项卡,然后select您希望项目兼容的运行时。 有关运行时的更多信息,请参阅指定J2EE项目的目标服务器。
  4. 单击完成退出修改分面项目对话框,然后单击确定。

Eclipse中的Facets也有版本号。 只要您保持对方面的要求, 您就可以更改方面的版本号 。 要更改项目中的构面版本,请完成以下步骤:

  1. 在Java EE透视图的Project Explorer视图中,右键单击该项目,然后selectProperties。
  2. 在属性窗口中selectProject Facets页面。 此页面列出项目中的方面及其版本。
  3. 单击修改项目,然后单击要更改的构面。
  4. 从方面名称旁边的下拉框中select方面的版本。
  5. 单击完成closures修改分面项目窗口,然后单击确定。

你可以用这些方面做更多的事情。 我已经给出了你们更好理解的例子。 有关详细信息,请阅读您最喜爱的IDE的文档。