1. 程式人生 > >eclipse 中 project facet 的作用

eclipse 中 project facet 的作用

1. 'Project Facets'可理解為:專案的特性,主流 IDE (Eclipse IDEA) 都提供了 facet 的配置。

  'Project Facets'作用:暫不描述,先看下面的實驗。

2. 來個例子:

1) 新建一個java project(右鍵-->New-->Java Project)。

2) 來看一下他的'Project Facets'都選中了哪些屬性(選中專案右鍵-->Properties-->Project Facets)

  只選中了一個java有沒有。這個是會被預設選中的配置。這是一個最簡單的java專案。

3) 這時我想把這個java專案做成一個web專案。

  3.1) Project Facets中選中Dynamic Web Module[動態web模板]

  3.2) 點選Apply

  

  3.3) 看看此時的專案結構發生了什麼變化,增加了WebContent目錄有木有。

  

  3.4)重新開啟Project Facets面板框,'JavaScript'選項框也被預設選中了。

  

4) 我又想在專案中使用JPA了。在Project Facets面板選中JPA,點選OK。看看專案結構發生了生麼變化。

  在src資料夾下,又多了JPA的元資料檔案。

3. 其他選項的作用我也不是很明瞭,不再一一嘗試了,但是'Project Facets'的作用應該可以理解了。

  簡單歸納一下'Project Facets'的作用特點(此處拷貝而來):

  • facet 定義了 java ee 專案的特性和要求
  • 為專案新增 EAR facet 會自動新增 web.xml (deployment descriptor file) ,並重新設定classpath
  • 專案建立時至少已經有一個 facet,開發人員可以按需新增其他 facet
  • 有的 facet 會依賴其他 facet
  • 有的 facet 可能和其他 facet 互斥
  • facet 可以設定版本

4. 總結:專案需要哪些應用,新增對應的特性即可。

Java Compiler

 關於Java Compiler只說一點:

  Java Compiler選擇的版本必須和'Project Facets'中指定的java版本一致。

  否則Eclipse會報異常:Java compiler level does not match the version of the installed Java project facet。

附配置圖一張:

Java Build Path

右側一排按鈕主要用來新增jar包,變數,類庫,class檔案等資原始檔。不做細講。

也只說明一點:

Java Build Path中引用的jdk的版本需要和'Project Facets'中配置的java版本一致。

Run Configurations面板中的JRE配置也需要和'Project Facets'中配置的java版本一致。

如果jdk版本不一致,會發生jsp檔案無法正確編譯的問題。