Saya memiliki proyek yang ada yang menggunakan @Override
metode yang menggantikan metode antarmuka , daripada metode superclass. Saya tidak dapat mengubah ini dalam kode, tetapi saya ingin Eclpse berhenti mengeluh tentang anotasi, karena saya masih dapat membangun dengan Maven.
Bagaimana cara saya menonaktifkan kesalahan ini?
Catatan: Karena persyaratan proyek, saya perlu melakukan kompilasi untuk Java 1.5.
java
eclipse
interface
annotations
syntax-error
Stefan Kendall
sumber
sumber
Jawaban:
Penggunaan
@Override
anotasi pada metode yang mengimplementasikan yang dideklarasikan oleh antarmuka hanya valid mulai dari Java 6 dan seterusnya. Ini adalah kesalahan di Java 5.Pastikan project IDE Anda disiapkan untuk menggunakan Java 6 JRE, dan "kompatibilitas sumber" disetel ke 1.6 atau lebih tinggi:
Ingatlah bahwa Eclipse dapat mengganti pengaturan global ini untuk proyek tertentu, jadi periksa juga.
Memperbarui:
Kesalahan di bawah Java 5 tidak hanya dengan Eclipse; menggunakan
javac
langsung dari baris perintah akan memberi Anda kesalahan yang sama. Ini bukan kode sumber Java 5 yang valid.Namun, Anda dapat menentukan
-target 1.5
opsi untuk JDK 6javac
, yang akan menghasilkan file kelas versi Java 5 dari kode sumber Java 6.sumber
Lakukan sebagai berikut:
Proyek -> Properti -> compiler java ->
sumber
Periksa juga apakah proyek tersebut memiliki segi. Versi java mungkin diganti di sana.
sumber
Pengaturan khusus proyek mungkin diaktifkan. Pilih proyek Anda
Project > Properties > Java Compiler
,uncheck
yangEnable project specific settings
atau perubahanJdk 1.6
dan di atas tidak melupakan yang sesuaiJRE
.Memetikan itu tidak bekerja, menghapus proyek Anda dari gerhana, menghapus
.settings folders
,.project
,.classpath
file.clean and build the project, import it back into eclipse and then reset your Java compiler. Clean and build your project
dan gerhana. Itu berhasil untuk sayasumber
Anda dapat mengubah pengaturan kompilator untuk menerima sintaks Java 6 tetapi menghasilkan keluaran Java 5 (seperti yang saya ingat). Dan setel "kompatibilitas file kelas yang dihasilkan" sedikit lebih rendah jika diperlukan oleh runtime Anda. Pembaruan : Saya memeriksa Eclipse, tetapi mengeluh jika saya menetapkan kompatibilitas sumber ke 1.6 dan kompatibilitas kelas ke 1.5. Jika 1.6 tidak diizinkan, saya biasanya secara manual mengomentari anotasi @Override yang menyinggung di sumber (yang tidak membantu kasus Anda).
Pembaruan2: Jika Anda hanya membuat manual, Anda dapat menulis program kecil yang menyalin proyek asli ke yang baru, menghapus anotasi @Override dari sumber java dan Anda baru saja menekan proyek Bersihkan di Eclipse.
sumber
Anda juga dapat mencoba Retroweaver untuk membuat versi Java5 dari kelas Java6.
sumber
Gunakan Eclipse untuk mencari dan mengganti (menghapus) semua contoh "@Override". Kemudian tambahkan kembali non-interface override menggunakan "Clean Up".
Langkah:
sumber
Saya mengerti masalah Anda, ubah jdk Anda dari jdk ke lebih besar dari 1.5
sumber
Dengan mengonfigurasi bahwa proyek IDE diatur untuk menggunakan Java 6 JRE atau lebih tinggi terkadang tidak menghilangkan kesalahan gerhana. Bagi saya restart Eclipe IDE membantu.
sumber
Bahkan setelah mengubah pengaturan kepatuhan kompilator menjadi 1.6 atau 1.7 dari tab windows, lalu prefernces, lalu java, lalu kompilator dan pengaturan kepatuhan kompilator, saya masih mengalami masalah ini. Idenya adalah kita perlu pergi ke folder proyek, klik kanan, Java dan setel compiler compliance ke 1.6 atau lebih tinggi. Ini berhasil untuk saya.
sumber