2010-02-10 25 views
67

"vấn đề" tab của Eclipse đang hiển thị lỗi này:"mặt Dự án Prblem (Java Version Mismatch)" thông báo lỗi

Description: Java compiler level does not match the version of the installed Java project facet.
Resource: groupping
Path: [blank]
Location: Unknown
Type: Faceted Project Problem (Java Version Mismatch)

pom.xml của tôi đã cài đặt này:

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
     </configuration> 
    </plugin> 
</plugins> 

nơi nào khác có thể các thiết lập không phù hợp?

Trả lời

136

Bạn đã kiểm tra bảng điều khiển Project Properties -> Project Facets chưa? (Từ that post)

A WTP project is composed of multiple units of functionality (known as facets).

The Java facet version needs to always match the java compiler compliance level.
The best way to change java level is to use the Project Facets properties panel as that will update both places at the same time.

WTP

The " Project->Preferences->Project Facets " stores its configuration in this file, " org.eclipse.wst.common.project.facet.core.xml ", under the " .settings " directory.

The content might look like this

<?xml version="1.0" encoding="UTF-8"?> 
<faceted-project> 
    <runtime name="WebSphere Application Server v6.1"/> 
    <fixed facet="jst.java"/> 
    <fixed facet="jst.web"/> 
    <installed facet="jst.java" version="5.0"/> 
    <installed facet="jst.web" version="2.4"/> 
    <installed facet="jsf.ibm" version="7.0"/> 
    <installed facet="jsf.base" version="7.0"/> 
    <installed facet="web.jstl" version="1.1"/> 
</faceted-project> 

Kiểm tra cũng của bạn Java compliance level:

Java compliance level

+4

Bạn đang anh hùng của tôi. – Ricardo

+0

Cảm ơn rất nhiều! Nó đã giúp – priyanka

40

You have two options to fix the issue:

1- Manually make sure the two versions match.
2- Use the IDE's help as follows:
- Right mouse click on the error in the 'Problems' view
- Select the 'Quick Fix' menu item from the pop-up menu
- Select the right compiler level in the provided dialog and click 'Finish'.

Taken từ Eclipse: Java compiler level and project facet mismatch

Cũng cung cấp vị trí nơi bạn có thể truy cập trình biên dịch Java và phiên bản khía cạnh.

+0

Sửa lỗi nhanh đã hoạt động cho tôi, cảm ơn! – Jos

20

Các khía cạnh dự án nên được bắt nguồn từ tự động bằng plugin M2Eclipse từ cấu hình POM. Nếu bạn thực hiện một số thay đổi đối với POM và cần Eclipse để đưa chúng vào tài khoản, nhấp chuột phải vào dự án của bạn, sau đó chuyển đến Maven> Cập nhật Cấu hình dự án. Bạn không nên đặt các khía cạnh dự án theo cách thủ công.

+1

Nhận xét thú vị ở đó. +1 – VonC

+0

@VonC Bạn đương nhiên đúng về cách cấu hình thủ công này nhưng khi sử dụng maven và plugin m2eclipse, plugin nên - và thực sự - định cấu hình cho bạn. Tất cả các siêu dữ liệu yêu cầu đều có trong POM: phiên bản cấp JDK, API Servlet, v.v. Các nhà phát triển không phải thiết lập thủ công sau khi nhập hoặc bất kỳ bản cập nhật POM nào khác, đó là một điều tốt. Điều này cũng áp dụng cho plugin maven-eclipse (tạo ra các khía cạnh dựa trên siêu dữ liệu POM). –

+0

Điều này có thể đúng khi bạn viết, nhưng phiên bản m2e mới nhất kể từ 2011-05 không thêm các phụ thuộc như phiên bản cũ theo cách thủ công, vì vậy bạn phải tự chuyển đổi dự án thành dự án mặt và sau đó chỉnh sửa cấu hình theo cách thủ công các tập tin để lấy các lọ thích hợp được sao chép vào thư mục lib của bạn. Đó là một nỗi đau. Xem https://sites.google.com/site/michaelvorburger/m2e-and-wtp –

0

Trong mùa xuân STS, Nhấp chuột phải dự án & chọn "Open Project", Quy định này thực hiện hành động cần thiết trên nền & đưa dự án trở lại không gian làm việc.

Cảm ơn & Trân Vengat Maran

Các vấn đề liên quan