Kapan saja saya harus mengimpor kembali proyek saya ke Eclipse (jika saya menginstal ulang Eclipse, atau mengubah lokasi proyek), hampir semua metode yang saya timpa tidak diformat dengan benar, menyebabkan kesalahan:
Metode ini harus mengganti metode superclass
Mungkin perlu dicatat untuk menyebutkan ini dengan proyek Android untuk alasan apa pun, nilai metode argumen tidak selalu terisi, jadi saya harus secara manual mengisinya sendiri. Contohnya:
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
//These arguments have their correct names
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
}
});
awalnya akan diisi seperti ini:
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
//This methods arguments were not automatically provided
public void onCreateContextMenu(ContextMenu arg1, View arg2,
ContextMenuInfo arg3) {
}
});
Yang aneh adalah, jika saya menghapus kode saya, dan Eclipse secara otomatis membuat ulang metode ini, ia menggunakan nama argumen yang sama yang sudah saya miliki, jadi saya tidak benar-benar tahu di mana masalahnya, selain itu ia memformat otomatis metode untuk saya.
Ini menjadi sangat menyakitkan karena harus secara manual menciptakan kembali SEMUA metode saya yang ditimpa dengan tangan. Kalau ada yang bisa menjelaskan mengapa ini terjadi atau bagaimana cara memperbaikinya. Saya akan sangat bahagia.
Mungkin karena cara saya memformat metode, yang ada di dalam argumen metode lain?
sumber
Jawaban:
Eclipse secara default ke Java 1.5 dan Anda memiliki kelas yang menerapkan metode antarmuka (yang dalam Java 1.6 dapat dijelaskan dengan
@Override
, tetapi di Java 1.5 hanya dapat diterapkan pada metode yang menimpa metode superclass).Buka preferensi proyek / IDE Anda dan atur level Java compiler ke 1.6 dan juga pastikan Anda memilih JRE 1.6 untuk menjalankan program Anda dari Eclipse.
sumber
Dengan Eclipse Galileo Anda pergi ke Eclipse -> item menu Preferences, lalu pilih Java dan Compiler dalam dialog.
Sekarang masih dapat menunjukkan tingkat kepatuhan kompiler pada 1,6, namun Anda masih melihat masalah ini. Jadi sekarang pilih tautan " Konfigurasi Pengaturan Khusus Proyek ... " dan di sana Anda akan melihat proyek diatur ke 1,5, sekarang ubah ini menjadi 1,6. Anda harus melakukan ini untuk semua proyek yang terkena dampak.
Antarmuka menu / dialog Bizantium ini adalah tipikal dari desain UI Eclipse yang buruk.
sumber
Dalam hal ini terjadi pada orang lain yang mencoba metode alphazero dan Paul dan masih tidak berhasil.
Bagi saya, gerhana entah bagaimana 'cache' kesalahan kompilasi bahkan setelah melakukan Proyek> Bersihkan ...
Saya harus menghapus centang Project> Build Automatically, kemudian melakukan Project> Clean, dan kemudian build lagi.
Juga, ketika ragu, coba mulai ulang Eclipse . Ini dapat memperbaiki banyak kesalahan yang aneh dan tidak dapat dijelaskan.
sumber
Untuk mengatasi masalah ini, Buka Properti proyek Anda -> Java compiler -> Pilih tingkat kepatuhan kompiler ke 1.6-> Terapkan.
sumber
Jawaban Paul bekerja sebagian untuk saya. Saya masih punya satu kesalahan. Jadi, selain itu, saya juga harus pergi ke Properties-> Project Facets dan di sana mengatur versi Java dari 1,5 menjadi 1,6.
Mungkin itu membantu.
sumber
Guys dalam kasus saya tidak ada solusi di atas yang berfungsi.
Saya harus menghapus file di dalam ruang kerja proyek:
Dan foldernya:
Kemudian saya menyalin yang dari proyek serupa yang bekerja sebelumnya. Ini berhasil memperbaiki proyek saya yang rusak.
Tentu saja jangan menggunakan metode ini sebelum mencoba alternatif sebelumnya !.
sumber
Jika tidak ada hal di atas yang membantu, pastikan Anda memiliki " Lingkungan eksekusi " yang tepat , dan bukan "JRE Alternatif".
Dapat ditemukan di bawah:
Pilih
JRE System Library
dan klikEdit...
.Jika "Alternate JRE ..." dipilih, ubahlah ke "Lingkungan Eksekusi" yang sesuai
JavaSE-1.8 (jre1.8.0_60)
. Tidak tahu mengapa, tetapi ini akan menyelesaikannya.sumber
Ini kali kedua saya mengalami masalah ini. pertama kali menurut rekomendasi alphazero itu berhasil. tetapi di kedua kalinya saya mengatur ke 1,6 itu tidak berfungsi seperti 'CACHE' kesalahan ini setelah bersih dan dibangun kembali.
Coba nonaktifkan 'Bangun Otomatis' seperti kata Rollin_s -> kesalahan masih ada di sini!
Jadi saya menghapus proyek masalah (sudah diatur ke 1.6) dari Package Explorer dan mengimpornya lagi -> ia memulai pembangunan kembali dan tidak ada kesalahan saat ini
Semoga ini bisa membantu seseorang
sumber
Memperbaiki harus mengganti kesalahan metode kelas super tidak sulit, Anda hanya perlu mengubah versi Java source menjadi 1.6 karena dari Java 1.6 @Override annotation dapat digunakan bersama dengan metode antarmuka. Untuk mengubah versi sumber ke 1.6, ikuti langkah-langkah di bawah ini:
sumber
Dalam kasus saya, masalah ini terjadi ketika saya mengimpor proyek Maven ke Eclipse. Untuk mengatasi ini, saya menambahkan yang berikut ini di
pom.xml
:Kemudian di menu konteks proyek, buka "Maven -> Perbarui Proyek ...", dan tekan OK.
Itu dia. Semoga ini membantu.
sumber
Dalam kasus saya, tidak ada solusi di atas yang berfungsi. Saya harus checkout kode sumber saya ke folder lain. Dari gerhana pilih File> Ganti ruang kerja> Lainnya ... lalu impor kode ke ruang kerja baru. itu berfungsi setelah itu.
sumber
Ini terjadi ketika proyek pakar Anda menggunakan tingkat Compiler Compliance yang berbeda dan Eclipse IDE menggunakan tingkat Compiler Compliance yang berbeda. Untuk memperbaikinya kita perlu mengubah tingkat Compiler Compliance proyek Maven ke tingkat penggunaan IDE.
1) Untuk Melihat tingkat penggunaan Java Compiler Compliance di Eclipse IDE
*) Jendela -> Preferensi -> Penyusun -> Penyusun Tingkat kepatuhan: 1.8 (atau 1.7, 1.6 ,, dll)
2) Untuk Mengubah level Compiler Java Compliance dari proyek Maven
*) Buka "Project" -> "Properties" -> Pilih "Java Compiler" -> Ubah level Compiler Compliance: 1.8 (atau 1.7, 1.6 ,, dll)
sumber