什麼是Facet
Facet項目框架提供了一個功能強大擴展WTP的機制,用戶可以在創建web項目時添加各種功能模組。當一個Facet添加到項目中後,它可以執行任何必要的操作如:拷貝resources,安裝builders,添加natures等,同時Facet也可以用作用戶界面元素可用的標誌。
為什麼要用facet
通常我們給創建的工程可能添加以下元素:資源檔案, Builder, Nature標識等, 我們知道Eclipse本身提供了一個Nature的功能,但是Facets跟Nature是有區別的, 給工程添加Nature是用來給Eclipse底層的工具使用的,而Facets是用來給最終用戶使用的, 通常Facets提供的模組都是自描述的,這樣可以保證用戶在使用的時候,避免添加不必要的Facet模組, 而且對於我們開發者而言也避免了在新建嚮導中插入新的wizard page以及避免通過右鍵選單來給工程添加或者去掉某模組,從而大大簡化了開發人員的工作量, 因此Facets對用戶和開發者來說都是一個不錯的選擇。
添加facet擴展點
Facet擴展點為org.eclipse.wst.common.project.facet.core.facets,在外掛程式項目的plugin.xml檔案中添加此擴展點,並進行配置。
<extension point="org.eclipse.wst.common.project.facet.core.facets">
<category id="hello.category">
<label>HelloGen</label>
<description>Enables generation of Customs based on XML definition files.</description>
</category>
</extension>
facet教程以及參考資料
參見擴展閱讀