1. 程式人生 > >Project facet Java version 1.7 is not supported. eclipse

Project facet Java version 1.7 is not supported. eclipse

Project facet Java version 1.7 is not supported. 
 發生情況:

  從svn上面checkout下程式碼後 在eclipse 中想進行部署 當點選 server--tomcat---add or  remove 的時候  發現無可新增的專案   後來在往專案裡打依賴包的時候 出現了上面的問題 

 原因 :

在移植eclipse專案時,如果遇到

“Project facet Java version 1.7 is not supported.”

專案中的jdk1.7不支援。說明專案是其他版本jdk編譯的,在eclipse裡執行時會報版本不支援。

解決辦法:

1,選中專案 Properties , 選擇 Project Facets,右擊選擇 Java , Change Version ...          即可。  改為你eclise中的jdk 版本

2,在 專案的目錄下有一個.settings的資料夾,該資料夾下有一個org.eclipse.wst.common.project.facet.core.xml檔案,內容如下;

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="jst.java"/>
<fixed facet="jst.web"/>
<installed facet="jst.web" version="2.4"/>
<installed facet="jst.java" version="6.0"/>
</faceted-project>

修改 <installed facet="jst.java" version="6.0"/>  <installed facet="jst.java" version="5.0"/> 即可。

 或者將eclipse的jdk版本升與version 對應版本 。

因為 svn 上的程式碼是同事用1.7的編譯完後commit的 所以發生了這種問題  究其本質 是因為更新下來的.settings 檔案中的<installed facet="jst.java" version="6.0"/> version 是同事eclipse 環境的設定 而同事用的是jdk1.7  而我的eclipse 中只有jdk1.6 所以在執行部署專案的時候他們找不到jdk1.7 才出現如上問題

 建議: 以後只commit src 和webroot下的東西 不要動eclipse 本身的東西 如 setting project classpath等 不要commit  以免發生由於這些東西產生的奇怪問題