Hướng dẫn khắc phục lỗi không tương thích Java compiler level và Project Facet trong Eclipse
3 phút đọc07/10/2025
Về tác giả
I’m passionate about web development and sharing my insights through articles, with over 8 years of experience. I hope these sharings inspire you and help build a strong web development community.
@#@
Tôi đam mê phát triển web và chia sẻ những hiểu biết của mình thông qua các bài viết, với hơn 8 năm kinh nghiệm. Tôi hy vọng những chia sẻ này sẽ truyền cảm hứng cho các bạn và giúp xây dựng một cộng đồng phát triển web mạnh mẽ.
Cập nhật thông tin mới nhấtNhận các thông tin mới nhất về mối đe dọa, báo cáo an ninh mạng từ CyStack về hòm thư điện tử của bạn
{"success":true,"head":"<title>Hướng dẫn khắc phục lỗi không tương thích Java compiler level và Project Facet trong Eclipse - CyStack Tutorial</title>\n<meta name=\"description\" content=\"Khắc phục lỗi không tương thích Java compiler level trong Eclipse và cách cấu hình đúng phiên bản JDK để tránh xung đột khi biên dịch.\"/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-video-preview:-1, max-image-preview:large\"/>\n<link rel=\"canonical\" href=\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/\" />\n<meta property=\"og:locale\" content=\"en_US\" />\n<meta property=\"og:type\" content=\"article\" />\n<meta property=\"og:title\" content=\"Hướng dẫn khắc phục lỗi không tương thích Java compiler level và Project Facet trong Eclipse - CyStack Tutorial\" />\n<meta property=\"og:description\" content=\"Khắc phục lỗi không tương thích Java compiler level trong Eclipse và cách cấu hình đúng phiên bản JDK để tránh xung đột khi biên dịch.\" />\n<meta property=\"og:url\" content=\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/\" />\n<meta property=\"og:site_name\" content=\"CyStack Tutorial\" />\n<meta property=\"article:tag\" content=\"vi\" />\n<meta property=\"article:section\" content=\"Java\" />\n<meta property=\"og:updated_time\" content=\"2026-08-03T17:13:11+07:00\" />\n<meta property=\"og:image\" content=\"https://s2.cystack.net/tutorial/07103958/khac-phuc-loi-khong-tuong-thich-java-compiler-level.jpg\" />\n<meta property=\"og:image:secure_url\" content=\"https://s2.cystack.net/tutorial/07103958/khac-phuc-loi-khong-tuong-thich-java-compiler-level.jpg\" />\n<meta property=\"og:image:width\" content=\"1200\" />\n<meta property=\"og:image:height\" content=\"630\" />\n<meta property=\"og:image:alt\" content=\"khắc phục lỗi không tương thích Java compiler level\" />\n<meta property=\"og:image:type\" content=\"image/jpeg\" />\n<meta property=\"article:published_time\" content=\"2025-10-07T10:42:12+07:00\" />\n<meta property=\"article:modified_time\" content=\"2026-08-03T17:13:11+07:00\" />\n<meta name=\"twitter:card\" content=\"summary_large_image\" />\n<meta name=\"twitter:title\" content=\"Hướng dẫn khắc phục lỗi không tương thích Java compiler level và Project Facet trong Eclipse - CyStack Tutorial\" />\n<meta name=\"twitter:description\" content=\"Khắc phục lỗi không tương thích Java compiler level trong Eclipse và cách cấu hình đúng phiên bản JDK để tránh xung đột khi biên dịch.\" />\n<meta name=\"twitter:image\" content=\"https://s2.cystack.net/tutorial/07103958/khac-phuc-loi-khong-tuong-thich-java-compiler-level.jpg\" />\n<meta name=\"twitter:label1\" content=\"Written by\" />\n<meta name=\"twitter:data1\" content=\"Bao Tran\" />\n<meta name=\"twitter:label2\" content=\"Time to read\" />\n<meta name=\"twitter:data2\" content=\"3 minutes\" />\n<script type=\"application/ld+json\" class=\"rank-math-schema\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https://blog.cystack.org/tutorial/#person\",\"name\":\"CyStack Tutorial\"},{\"@type\":\"WebSite\",\"@id\":\"https://blog.cystack.org/tutorial/#website\",\"url\":\"https://blog.cystack.org/tutorial\",\"name\":\"CyStack Tutorial\",\"publisher\":{\"@id\":\"https://blog.cystack.org/tutorial/#person\"},\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https://s2.cystack.net/tutorial/07103958/khac-phuc-loi-khong-tuong-thich-java-compiler-level.jpg\",\"url\":\"https://s2.cystack.net/tutorial/07103958/khac-phuc-loi-khong-tuong-thich-java-compiler-level.jpg\",\"width\":\"1200\",\"height\":\"630\",\"caption\":\"kh\\u1eafc ph\\u1ee5c l\\u1ed7i kh\\u00f4ng t\\u01b0\\u01a1ng th\\u00edch Java compiler level\",\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":\"1\",\"item\":{\"@id\":\"https://blog.cystack.org/tutorial\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":\"2\",\"item\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/category/java/\",\"name\":\"Java\"}},{\"@type\":\"ListItem\",\"position\":\"3\",\"item\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/\",\"name\":\"H\\u01b0\\u1edbng d\\u1eabn kh\\u1eafc ph\\u1ee5c l\\u1ed7i kh\\u00f4ng t\\u01b0\\u01a1ng th\\u00edch Java compiler level v\\u00e0 Project Facet trong Eclipse\"}}]},{\"@type\":\"WebPage\",\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/#webpage\",\"url\":\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/\",\"name\":\"H\\u01b0\\u1edbng d\\u1eabn kh\\u1eafc ph\\u1ee5c l\\u1ed7i kh\\u00f4ng t\\u01b0\\u01a1ng th\\u00edch Java compiler level v\\u00e0 Project Facet trong Eclipse - CyStack Tutorial\",\"datePublished\":\"2025-10-07T10:42:12+07:00\",\"dateModified\":\"2026-08-03T17:13:11+07:00\",\"isPartOf\":{\"@id\":\"https://blog.cystack.org/tutorial/#website\"},\"primaryImageOfPage\":{\"@id\":\"https://s2.cystack.net/tutorial/07103958/khac-phuc-loi-khong-tuong-thich-java-compiler-level.jpg\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/#breadcrumb\"}},{\"@type\":\"Person\",\"@id\":\"https://blog.cystack.org/tutorial/author/baotran/\",\"name\":\"Bao Tran\",\"url\":\"https://blog.cystack.org/tutorial/author/baotran/\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https://secure.gravatar.com/avatar/0cdd33c02ec4a531fcf557b9c1ccc276df0c69031b2382c959bcf335248e840c?s=96&d=mm&r=g\",\"url\":\"https://secure.gravatar.com/avatar/0cdd33c02ec4a531fcf557b9c1ccc276df0c69031b2382c959bcf335248e840c?s=96&d=mm&r=g\",\"caption\":\"Bao Tran\",\"inLanguage\":\"en-US\"}},{\"@type\":\"BlogPosting\",\"headline\":\"H\\u01b0\\u1edbng d\\u1eabn kh\\u1eafc ph\\u1ee5c l\\u1ed7i kh\\u00f4ng t\\u01b0\\u01a1ng th\\u00edch Java compiler level v\\u00e0 Project Facet trong Eclipse - CyStack\",\"keywords\":\"Java compiler\",\"datePublished\":\"2025-10-07T10:42:12+07:00\",\"dateModified\":\"2026-08-03T17:13:11+07:00\",\"articleSection\":\"Java\",\"author\":{\"@id\":\"https://blog.cystack.org/tutorial/author/baotran/\",\"name\":\"Bao Tran\"},\"publisher\":{\"@id\":\"https://blog.cystack.org/tutorial/#person\"},\"description\":\"Kh\\u1eafc ph\\u1ee5c l\\u1ed7i kh\\u00f4ng t\\u01b0\\u01a1ng th\\u00edch Java compiler level trong Eclipse v\\u00e0 c\\u00e1ch c\\u1ea5u h\\u00ecnh \\u0111\\u00fang phi\\u00ean b\\u1ea3n JDK \\u0111\\u1ec3 tr\\u00e1nh xung \\u0111\\u1ed9t khi bi\\u00ean d\\u1ecbch.\",\"name\":\"H\\u01b0\\u1edbng d\\u1eabn kh\\u1eafc ph\\u1ee5c l\\u1ed7i kh\\u00f4ng t\\u01b0\\u01a1ng th\\u00edch Java compiler level v\\u00e0 Project Facet trong Eclipse - CyStack\",\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/#richSnippet\",\"isPartOf\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/#webpage\"},\"image\":{\"@id\":\"https://s2.cystack.net/tutorial/07103958/khac-phuc-loi-khong-tuong-thich-java-compiler-level.jpg\"},\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/10/07/khac-phuc-loi-khong-tuong-thich-java-compiler-level/#webpage\"}}]}</script>\n"}
Hôm nay, tôi muốn chia sẻ về một trong những vấn đề như vậy mà tôi đã gặp phải gần đây khi làm việc với một dự án Maven trong Eclipse. Cụ thể, sau khi tôi nhập một dự án và thay đổi Build Path Library sang Java 1.7, Eclipse bỗng hiển thị lỗi cho toàn bộ dự án, dù không có bất kỳ dòng code nào báo lỗi trong các file. Đây là một tình huống khá phổ biến và gây bối rối cho nhiều lập trình viên.

Nguồn gốc của vấn đề: Java compiler level does not match the version of the installed Java project facet
Sau khi tôi thay đổi Build Path Library sang Java 1.7 cho dự án Maven của mình trong Eclipse, một lỗi bất ngờ đã xuất hiện trong cửa sổ Problem View: Java compiler level does not match the version of the installed Java project facet

Điều này có nghĩa là cấp độ trình biên dịch Java mà dự án của bạn đang sử dụng không khớp với phiên bản Java Project Facet đã cài đặt..
Khắc phục lỗi Java Project Facet
Sau khi tìm hiểu và xem xét kỹ lưỡng các thuộc tính của dự án, tôi đã tìm ra giải pháp. Điều duy nhất cần làm là thay đổi phiên bản Java Project Facet từ 1.5 sang 1.7. Bạn có thể thực hiện việc này thông qua giao diện người dùng (UI) bằng cách truy cập Project Properties và điều chỉnh phiên bản Facet tại đó.

Tuy nhiên, với tôi, một người luôn ưu tiên sự kiểm soát tuyệt đối và muốn làm việc qua cấu hình file, tôi đã chọn cách chỉnh sửa trực tiếp. Eclipse lưu trữ thông tin cấu hình của project facets trong file org.eclipse.wst.common.project.facet.core.xml. File này nằm trong thư mục .settings ở thư mục gốc của dự án của bạn.
Nội dung ban đầu của file này trông như thế này:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="jst.web" version="2.3"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.5"/>
</faceted-project>
Bạn có thể thấy rõ dòng <installed facet="java" version="1.5"/>. Đây chính là thủ phạm! Tôi đã sửa đổi nó thành 1.7 như sau:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="jst.web" version="2.3"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.7"/>
</faceted-project>
Sau khi tôi thực hiện thay đổi này và làm mới (refresh) dự án trong Eclipse (bằng cách nhấp chuột phải vào dự án và chọn Refresh hoặc nhấn F5), lỗi đã biến mất hoàn toàn.
Mẹo bổ sung
Nếu bạn muốn điều chỉnh mức độ tương thích của trình biên dịch (compiler compliance level) qua terminal hoặc trực tiếp qua file, bạn cần chỉnh sửa các thuộc tính sau trong file org.eclipse.jdt.core.prefs. File này cũng nằm trong thư mục .settings của dự án.
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.source=1.7
Bạn chỉ cần đảm bảo rằng các giá trị này phản ánh phiên bản Java bạn mong muốn.
Mặc dù bạn cũng có thể thay đổi thư viện trong file .classpath của dự án, nhưng việc này phức tạp hơn và phụ thuộc vào cách cấu hình tên thư viện. File .classpath định nghĩa các đường dẫn lớp (classpath entries) cho dự án của bạn. Ví dụ, trong file .classpath của dự án tôi, mục nhập cho JRE trông như sau:
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Home">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
Kết luận
Chúng ta đã cùng nhau khám phá nguyên nhân và giải pháp cho lỗi Java compiler level does not match the version of the installed Java project facet thường gặp trong Eclipse. Bạn đã học được rằng vấn đề này phát sinh do sự không khớp giữa phiên bản trình biên dịch Java mà bạn thiết lập và phiên bản Java Project Facet mà dự án của bạn đang sử dụng.