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 。
- 其中一个平坦的抛光表面切割在gem上或在水晶上自然发生。
- 解剖一个小的,光滑的,平坦的表面,如在骨头或牙齿上。
- 生物学复眼的镜片状视觉单位之一,如昆虫。
- 其中一个方面,作为一个主题。 请参阅阶段中的同义词。
这是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来设置一个项目作为企业应用程序。
要将另一个方面添加到已存在的项目 ,请完成以下步骤:
- 在Java™EE透视图的“项目资源pipe理器”视图中,右键单击项目,然后select“属性”。
- 在属性窗口中selectProject Facets页面。 此页面列出项目中的方面及其版本。
- 单击修改项目,然后选中您希望项目具有的构面旁边的checkbox。
注意:只列出对项目有效的构面
有些方面可能不能一起工作。 因此,您也可以从“预设”列表中select预设的组合面 。
- 通过单击当前版本号并从下拉列表中select所需的版本号,为该方面select一个版本号。
- 可选:要删除构面,请清除其checkbox。 并不是所有的方面都可以被删除。
- 可选:如果要限制项目以便与一个或多个运行时兼容,请单击运行时选项卡,然后select您希望项目兼容的运行时。 有关运行时的更多信息,请参阅指定J2EE项目的目标服务器。
- 单击完成退出修改分面项目对话框,然后单击确定。
Eclipse中的Facets也有版本号。 只要您保持对方面的要求, 您就可以更改方面的版本号 。 要更改项目中的构面版本,请完成以下步骤:
- 在Java EE透视图的Project Explorer视图中,右键单击该项目,然后selectProperties。
- 在属性窗口中selectProject Facets页面。 此页面列出项目中的方面及其版本。
- 单击修改项目,然后单击要更改的构面。
- 从方面名称旁边的下拉框中select方面的版本。
- 单击完成closures修改分面项目窗口,然后单击确定。
你可以用这些方面做更多的事情。 我已经给出了你们更好理解的例子。 有关详细信息,请阅读您最喜爱的IDE的文档。