Kenapa merah sekali? IntelliJ tampaknya berpikir bahwa setiap deklarasi / metode tidak dapat ditemukan / diselesaikan

121

Saya baru saja menginstal dan menginstal ulang IntelliJ. Setiap file Java akan muncul MERAH. Saya memeriksa JDK; itu di 1.6. ##. Bangunan itu maven clean installbekerja dengan baik.

Saya mendapatkan kesalahan yang disorot seperti biasa. Di setiap deklarasi:

Tidak dapat menyelesaikan simbol SomeEntityBean / Bean

dan pada setiap metode:

Tidak dapat menyelesaikan metode SomeFunction ()

Bagaimana cara memperbaiki kesalahan palsu ini?

iCodeLikeImDrunk
sumber

Jawaban:

196

IntelliJ terkadang menjadi bingung dengan sendirinya, bahkan tanpa perubahan eksternal yang dijelaskan Korgen (meskipun itu adalah cara yang baik untuk mereproduksinya secara konsisten).

Klik File -> Synchronize , dan IntelliJ akan melihat bahwa semuanya baik-baik saja.

Jika itu tidak berhasil, cache IntelliJ mungkin rusak (ini biasanya lebih sering terjadi daripada sekarang); dalam hal ini, buat ulang dengan

Mengklik File -> Invalidate Caches dan memulai ulang IDE

(meskipun memuat proyek akan memakan waktu beberapa saat sementara cache dibuat ulang).

Matt Leidholm
sumber
3
Terima kasih. Sangat membantu. Saya menggunakan 'Cache Tidak Valid' sebagai upaya terakhir dan berhasil.
Oz Molaim
1
Cache Tidak Valid -> IntelliJ Restart -> Syncronize berfungsi untuk saya. Terima kasih.
emrahgunduz
semoga pada akhirnya Anda dapat membatalkan dan mempertahankan sejarah lokal?
ycomp
Menyelamatkan hariku. Terima kasih Matt.
Ashish Singh
50

Saya mengalami ini ketika saya memperbarui JDK saya secara manual dan menghapus JDK sebelumnya

Kata kunci merah

Larutan

  • Di editor IntelliJ, klik kata kunci merah ( Integermisalnya) dan tekan ALT+ ENTER(atau klik ikon bola lampu)
  • pilih Setup JDK dari menu maksud

Menu niat IntelliJ

  • klik Configure

Dialog pemilihan SDK proyek

  • Dalam kasus saya, jalur JDK salah (diarahkan /opt/jdk1.7.0_51alih-alih/opt/jdk1.7.0_65 )

Broken Configure SDK dialog

  • Klik pada ... dan ramban ke jalur JDK yang benar

Memperbaiki dialog Configure SDK

  • Mari bersihkan cache:

Menu IntelliJ File

Dan semuanya harus hidup kembali :)

Tidak ada kata kunci merah

Jossef Harush
sumber
bagaimana melakukannya di mac
nil96
32

IntelliJ terkadang menjadi bingung setelah mengimpor proyek maven dan kemudian mengganti pom secara eksternal atau menghasilkan sumber di luar IntelliJ.

Anda mungkin ingin mencoba maven-> force reimport dari dalam intellij pada root proyek

Korgen
sumber
2
Anehnya, ini sebenarnya menyebabkan "kondisi peringatan merah" bagi saya bahwa cache yang tidak valid kemudian dihapus.
barclay
4
di mana "maven -> force reimport"? Di mana pengaturan / opsi sebenarnya untuk ini?
Stealth Rabbi
@StealthRabbi Klik kanan di mana saja di atas struktur proyek, lalu Maven> Reimport ...
Rodrigo Martins de Oliveira
Atau Anda juga dapat menggunakan Ctrl + Shift + A, ketik "Impor Ulang" dan pilih salah satu: "Impor Ulang" atau "Impor Ulang Semua Proyek Maven" (ragu, impor ulang semua).
Rodrigo Martins de Oliveira
7

Masalah saya diselesaikan dengan mengubah jdk ke default , seperti ini. Open Jdk diinstal tetapi tidak tahu mengapa intellij menyetel konfigurasi ke java-8-openjdk-amd64 . Ini masalahnya. Saya telah mengubah ke default-java dan tidak ada lagi kesalahan merah.

masukkan deskripsi gambar di sini

mnhmilu
sumber
7

Dalam kasus saya, dependensi pengambil dan penyetel datang melalui plugin lombok (Menggunakan java dengan Spring). Dan pada instalasi baru ide intellij, saya belum menginstal plugin lombok. Menginstal plugin lombok memperbaikinya untuk saya.

Parantap Sharma
sumber
Inilah yang menyebabkan masalah bagi saya. Getter dan setter yang dihasilkan melalui anotasi tidak dipahami oleh IntelliJ. Terima kasih atas perbaikannya!
rabowlen
5

Saya mengalami masalah yang sama setelah mengubah JDK dari 1.6 menjadi 1.7 di pom.xml saya dan mengatur Maven 3 path + pengaturan proyek JDK ke 1.7.

Apa yang berhasil untuk saya adalah => File -> Invalidate Cache and Restart

PS: masalah terjadi lagi, jadi saya baru saja mengimpor kembali proyek lengkap setelah menghapus folder .idea dan sekarang berfungsi dengan baik seperti biasa :)

0x126
sumber
1
Saya telah melalui semua buah gantung rendah mencoba untuk mendapatkan penyorotan untuk bekerja lagi dan dengan komentar Anda saya menyadari bahwa mungkin OSX nuked 1.6 JDK saya dalam pembaruan ... itu berhasil. Dan itu memindahkan Java dari / System / Library ke / Library. Terima kasih telah memposting.
rwheadon
tampaknya setelah pembaruan ke 1.7 dan memperbarui ide, mereka memperbaiki masalah. tidak terjadi lagi.
0x126
4

Periksa apakah Anda memiliki pengaturan JVM SDK yang tepat di IntelliJ Properties. Jika invalidate-cache-and-restart tidak cukup, periksa apakah Anda menggunakan JVM SDK yang tepat, seperti Java 1.7.

Lihat di: Preferences -> IDE Settings -> Scala -> JVM SDK

Atau klik kanan proyek Anda -> Open Module Settings -> Project Settings -> Project -> Project SDK -> (Set to Java 1.7)

Buka Pengaturan Modul -> Pengaturan Platform -> SDK -> (Pastikan bahwa ada Java 1.7, jika tidak, Anda harus menambahkannya)

Jika Anda telah membuat perubahan, mungkin yang terbaik adalah menjalankan ulang Cache & Restart Tidak Valid.

Peter Dietz
sumber
3

Ini jika Anda melihat kelas Java berwarna merah dan mendapatkan kesalahan ini, "Tidak dapat menyelesaikan simbol" .

Jika Anda mengimpor proyek ke IntelliJ dan tidak ada solusi di atas yang berhasil untuk Anda, cobalah ini. Inilah yang berhasil bagi saya ketika segalanya gagal.

Masuk ke folder proyek Anda dan ganti nama / hapus folder .idea yang memiliki pengaturan ide untuk proyek Anda. Ini akan dibuat dari versi IntelliJ lama Anda. Setelah Anda mengganti nama / menghapus folder .idea , impor proyek Anda ke IntelliJ. Anda seharusnya tidak melihat kesalahan apa pun untuk kelas Java Anda sekarang. Semoga ini bisa membantu.

Arthas
sumber
Ini adalah satu-satunya hal yang benar-benar berfungsi untuk saya setelah memperbarui IntelliJ. Terima kasih!
wulftone
3

Jika Anda masih mendapatkan kesalahan ini, bahkan setelah Anda mencoba semua saran lain tentang pertanyaan ini, Anda telah memeriksa semua JDK Anda, pengaturan Maven, cache yang tidak valid, menyinkronkan ruang kerja Anda dan memulai ulang, tetapi semuanya masih tidak berfungsi. Anda, lalu buka direktori proyek Anda dan hapus seluruhnya .idea folder. Mulai ulang IntelliJ Anda; semua file di bawah.idea akan dibuat baru yang mencerminkan situasi saat ini.

Setidaknya, ini berhasil untuk saya.

Gembala
sumber
Saya juga mencoba segalanya dan tidak ada yang berhasil. Akhirnya, saya mengambil cadangan folder .idea -> menghapusnya -> membuka kembali proyek -> ditutup -> meletakkan kembali .idea -> dibuka kembali. Saya rasa bagi saya beberapa file cache tidak dihapus sebelumnya.
Vibha
2

Saya memiliki IntelliJ IDEA 12.x di Mac dan saya menggunakan Maven 3 dan saya mendapatkan sorotan merah di atas kode saya meskipun build Maven baik-baik saja. Tidak satu pun di atas (pengindeksan ulang, impor paksa, dll.) Yang berhasil untuk saya. Saya harus melakukan hal berikut:

Intellij -> Preferences -> Maven -> Importing
    [ ] Use Maven3 to import projects

Saya harus memeriksa opsi impor Maven3 dan itu memperbaiki masalah.

pastafarian
sumber
Saya telah beralih ke Maven 2dan kemudian, kembali ke Maven 3. Langkah-langkah ini tampaknya memecahkan masalah bagi saya.
Chaklader Asfak Arefe
2

Namun ada solusi lain! Salah satu solusi, yang menyarankan mengklik Alt Entertidak memiliki Setup JDK untuk saya, tetapi Add ... to classpathberfungsi.

NSonmez
sumber
1

Saya memiliki masalah yang sama.

Dalam kasus saya, masalahnya adalah dengan maven home directorydan user settings filedi Pengaturan Intellij di bawah Maven. Saya telah menginstal Maven bukan di direktori default dan saya juga telah mengubah lokasi settings.xmlfile. Ini juga harus diubah di Pengaturan IntelliJ.

Semoga ini juga membantu.

Elio
sumber
0

Saya mencoba menggunakan semua saran di atas, tetapi sayangnya tidak ada yang membantu saya. Jadi akhirnya saya memutuskan untuk menghapus ruang kerja intelij saya dan membuat yang baru - ini membantu :) Tetapi sebelumnya saya juga melakukan pembersihan cache, mengimpor ulang proyek maven, membersihkan proyek dan membangunnya kembali.

Marcin Erbel
sumber
0

Saya memiliki masalah yang sama dan setelah mencoba semua saran di atas, ternyata penginstalan IntelliJ saya tidak mengambil variabel sistem JAVA_HOME saya, dan tidak memiliki set SDK / JDK.

Saya memperbaikinya dengan mengikuti petunjuk ini: Mengonfigurasi SDK Global, Proyek, dan Modul

vphilipov.dll
sumber
0

Masalahnya adalah file yang saya coba impor terlalu besar sehingga IntelliJ tidak akan menjalankan CodeInsights apa pun di dalamnya.

Mengatur idea.max.intellisense.filesizeopsi ke nilai yang lebih tinggi sesuai petunjuk pada jawaban ini menyelesaikan masalah saya.

ecnepsnai
sumber
0

Saya memiliki masalah yang sama saya menggunakan JDK 1.9 dengan IntelliJ 14, saya menyelesaikan menginstal ulang Java dengan versi terbaru JDK 1.8 (1.8.0_161 dalam kasus ini)

Saya juga menghapus versi 1.9 dari

HKEY_CURRENT_USER \ Software \ JavaSoft \ JRE \ Security Baseline

Sam
sumber
0

Saya memiliki masalah yang sama, yang memperbaikinya untuk saya adalah:

Pergi ke File>Setting>Maven , saya mengatur direktori home Maven, file pengaturan dan repo lokal.

Pergi ke Maven Projects dan klik Reimport All Maven Projects

masukkan deskripsi gambar di sini

Ini berhasil!

Mohith Maratt
sumber
0

Saya mengalami masalah ini pada pemasangan baru IDEA. Saya pikir itu telah membawa JDK sendiri atau akan dapat menemukan yang sudah ada di mesin, tetapi ternyata tidak (tidak yakin apa yang dilakukan kotak centang di dialog instal, sekarang). Ketika saya mengklik bola lampu dan mengklik tombol "Setup JDK" dan kemudian mengklik "Configure," terungkap bahwa itu mencoba untuk mendapatkan JDK dari

C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1\jre64

Saya melihat-lihat, mencoba beberapa folder di pohon JetBrains, tetapi setidaknya dialognya cukup pintar untuk tidak mengizinkan saya menerapkan apa pun (termasuk yang asli), mengatakan bahwa itu bukan lokasi yang valid untuk JDK. Jadi saya melihat-lihat ke pohon Java dan mencobanya, dan pohon itu menerima ini:

C:\Program Files\Java\jdk1.8.0_40

Setelah saya mengeset konfigurasinya, tampaknya tidak berhasil; jadi saya mencoba membatalkan cache IDEA dan memulai ulang (seperti yang dijelaskan dalam jawaban lain), dan saya diberi tahu bahwa saya menjalankan tugas latar belakang. Jadi saya membatalkan pembatalan, dan ketika saya melakukan itu, kompilasi ulang atau pembaruan database apa pun yang dilakukan selesai, dan semua warna merah di jendela edit hilang. Jadi, diperlukan beberapa detik (setidaknya) untuk konfigurasi JDK selesai.

Blair Houghton
sumber
0

Cobalah untuk menghapus .IntelliJIdea15 (tergantung pada versi) dari C: \ Users \ Username

Saat Anda memulai IntelliJ, folder itu akan dibuat lagi.

Sudeep
sumber
0

Namun solusi lain di IntelliJ Ultimate 2018.2

  • Arahkan kursor ke impor yang ditandai merah
  • Pilih panah dropdown pada popup yang muncul di kiri (bawah)
  • Pilih "Tambahkan perpustakaan ... ke jalur kelas"

masukkan deskripsi gambar di sini

Suren Konathala
sumber
0

Diselesaikan hanya dengan "Segarkan Semua Proyek Gradle"

AlexPes
sumber
0

Saya tidak bisa mendapatkan solusi ini untuk saya. Saya harus secara manual pergi ke setiap metode / kelas yang saya dapatkan kesalahannya dan mengimpornya secara manual. Setelah itu semuanya baik-baik saja.

SovietFrontier
sumber
0

Menggunakan IntelliJ 2019.3 dan proyek Gradle yang bergantung pada proyek Gradle saya sendiri, satu-satunya hal yang memperbaikinya untuk saya adalah di Reimport All Gradle ProjectsbawahView -> Tool Windows -> Gradle (dan tombol segarkan).

Sebelum itu saya mencoba memulai ulang IDE, saya mencoba "Invalidate Caches and Restart", saya mencoba Rebuild project, tidak ada yang membantu.

Sajjon
sumber
0

Saya menghadapi masalah yang sama ketika mengupgrade versi Intellij. Itu diselesaikan untuk saya dengan menggunakan pakar lama daripada yang dibundel dengan Intellij baru.

Vishal T
sumber
0

Saya menghabiskan sebagian besar hari mencoba semua solusi di sini, tetapi sepertinya tidak ada yang berhasil. Satu-satunya hal yang berhasil bagi saya adalah menghapus instalan IntelliJ sepenuhnya dan menginstalnya lagi. Namun, bagi saya, ketika saya menghapus IntelliJ dari folder Aplikasi, masalah kembali segera setelah saya menginstal ulang. Apa yang akhirnya harus saya lakukan adalah menggunakan App Cleaner untuk menghapus IntelliJ dan semua file konfigurasi dan pengaturan. Setelah saya melakukan itu dan kemudian menginstal ulang IntelliJ, masalahnya akhirnya hilang. Lihat Cara menghapus instalan IntelliJ di Mac

Ross Mills
sumber
0

Untuk edisi 2020.1.4 Ultimate, saya harus melakukan hal berikut

View -> Maven -> Generate Sources and Update Folders For all Projects

Masalah bagi saya adalah perpustakaan tidak diisi mvn -U clean installdari terminal.

masukkan deskripsi gambar di sini

pengguna1599755
sumber
0

Mencoba membatalkan cache, mengimpor ulang proyek, beralih ke Maven bawaan, menghapus folder .m2 dan bagian-bagiannya, - tidak ada yang berhasil. Setelah saya benar-benar merusak Maven (sementara itu telah membangun proyek dengan sukses sebelumnya, sekarang tidak bisa lagi), saya harus menginstalnya kembali dari awal. Itu membantu!

Katia Savina
sumber