Level kompiler Java tidak cocok dengan versi facet proyek Java yang diinstal


203

Saya telah membuat Proyek Dinamis Baru di bawah Versi Eclipse Helios, di mana Versi JRE saya diatur ke 1.6. Saya telah menambahkan kemampuan Maven ke Aplikasi Web dengan mengklik ConfigureConvert to Maven Project .

Setelah menambahkan ini, galat build muncul di tampilan Masalah Eclipse:

Java compiler level does not match the version of the installed Java project facet.
Unknown Faceted Project Problem (Java Version Mismatch)

Tolong beritahu saya cara mengatasi kesalahan ini (saya ingin versi JRE saya hanya 1,6).


Jawaban Bigleftie bermanfaat bagi saya untuk proyek non Maven.
Jack Mason

pengguna eclipse dapat membaca journaldev.com/3334/…
Ahmad Nadeem

Jawaban:


167

Dengan asumsi bahwa Anda menggunakan plugin m2e di Eclipse, Anda harus menentukan sourcedan targetversi sebagai 1.6 untuk maven-compiler-plugin. m2e menggunakan nilai-nilai ini untuk menentukan tingkat kompiler Java proyek. Cuplikan POM ditunjukkan di bawah ini:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
    </plugin>
  </plugins>
</build>

Atau, Anda bisa menentukan maven.compiler.sourcedan maven.compiler.targetproperti dengan nilai 1,6, yang setara dengan itu:

<properties>
    <maven.compiler.target>1.6</maven.compiler.target>
    <maven.compiler.source>1.6</maven.compiler.source>
</properties>

60
Bisakah Anda melakukannya: - Klik kanan pada proyek Anda - Klik Properti - Klik opsi "Project Facets" di menu sebelah kiri - Di bawah Facets section "Java" di sebelah kanan, ubah ke "1.6", "1.7" atau Anda versi ... - Klik Oke
Thiago Pereira

3
@ThiagoPereira Anda kehilangan perubahan itu saat Anda menginstal ulang di ruang kerja yang berbeda. Pelajari cara kerja m2e.
Vineet Reynolds

pengguna eclipse dapat membaca journaldev.com/3334/...
Ahmad Nadeem

401

Jika proyek Anda bukan proyek Maven, klik kanan pada proyek Anda dan pilih Properti untuk membuka dialog Properti Proyek.

Ada item Project Facets di sebelah kiri, pilih itu, cari segi Java pada daftar, pilih versi mana yang ingin Anda gunakan untuk proyek dan terapkan.

Fakta Proyek - versi Java


19
Project Facet-> Java harus cocok dengan apa pun yang Anda miliki di pom.xml untuk sumber dan target artefak maven-compiler-plugin.
Arye Rosenstein

4
Akar penyebab masalah ini harus menjadi jawaban yang diberikan oleh @VineetReynolds
Jerry Tian

4
Saya punya masalah ini, dan sepertinya ini masalah pakar, tapi saya tidak menggunakan pakar, saya tidak punya file POM, dan saya bahkan tidak yakin saya punya plugin pakar. Namun saya mendapatkan kesalahan yang sama; gerhana saya diatur untuk menggunakan java 1.7 tetapi halaman facet proyek saya hanya akan membiarkan saya memilih 1,6. Apa yang saya lakukan salah?
rjcarr

7
Empat hal harus sesuai 1) Proyek-> Java Build Path-> Libraries-> JRE versi 2) Project-> Java Compiler-> Compiler Compliance Level 3) Project-> Project Facets-> Java-> Versi 4) (jika menggunakan Maven ) pom.xml - sumber dan target artefak maven-compiler-plugin
bigleftie

1
Saya kedua @TK Gospodinov menjawab. Pom saya up to date dengan versi Java tetapi segi proyek adalah pelakunya.
Soman Dubey

18

Jawaban TK Gospodinov benar bahkan untuk proyek pakar. Waspadalah: Saya menggunakan Maven. Pom sudah benar dan masih punya masalah ini. Saya pergi ke "Project Facets" dan benar-benar menghapus pilihan Java yang menunjuk ke 1.6 tetapi proyek saya menggunakan 1.7. Di sebelah kanan di tab "Runtimes" saya harus memeriksa opsi jdk1.7. Tidak ada yang muncul di sebelah kiri bahkan setelah saya menekan "Terapkan". Masalahnya hilang, oleh karena itu saya masih berpikir jawaban ini penting untuk masalah terkait "Aspek Proyek" yang spesifik. Setelah Anda menekan OK jika Anda kembali ke "Project Facets" Anda akan melihat Java muncul sebagai versi 1.7 sehingga Anda sekarang dapat memilihnya untuk memastikan proyek tersebut "ditandai" sebagai proyek Java. Saya juga perlu mengklik kanan pada proyek dan memilih Maven | Update Project.


6

Saya menyelesaikan masalah ini dengan mengatur versi java di properti Project Facet dari properti proyek, Klik kanan folder root proyek -> Properties, cari Project Facet, dan pilih versi java yang kompatibel.

Sebagai referensi -

masukkan deskripsi gambar di sini


5

Saya mengubah konfigurasi di dalam workspace/project/.setting/org.eclipse.wst.common.project.facet.coremenjadi:

installed facet="jst.web" version="2.5"
installed facet="jst.java" version="1.7"

Sebelum mengubah konfigurasi, hapus proyek dari IDE. Ini berhasil untuk saya.


baru saja menghapus proyek dari gerhana dan mengimpor kembali memperbaiki masalah.
Mohammad Faisal

5

Saya menyelesaikannya dengan Myproject ---> java Resource ----> libraries -> J RE System Libraries [java-1.6] klik ini pergi ke " propertinya " pilih "Classpath Container" ubah Lingkungan Eksekusi ke java- 1.8 (jdk1.8.0-35) (itu terbaru )

Ubah jdk ke terbaru


4

Project Facet-> Java harus cocok dengan apa pun yang Anda miliki di pom.xml untuk sumber dan target artefak maven-compiler-plugin di Porject-Facet dari pengaturan: Eclispe-> Preferences-> Java-> Compiler


4

Anda dapat mengubah segi proyek dari Project -> Properties -> Project Facet -> Java -> {diperlukan versi JDK}


3

Klik kanan proyek dan pilih properti. Klik kompiler java dari kiri dan ubah ke versi yang Anda butuhkan Semoga ini bisa membantu


2

Di Eclipse, klik kanan pada proyek Anda, pergi ke Maven> Perbarui projetc. Tunggu dan kesalahannya akan hilang. Ini sudah dikonfigurasi dengan benar versi Java untuk proyek ini.

masukkan deskripsi gambar di sini


1

Jika menggunakan gerhana,

Di bawah.settings klik pada org.eclipse.wst.common.project.facet.core.xml

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <installed facet="java" version="1.7"/>
</faceted-project>

Ubah versi ke versi yang benar.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.