Saya memiliki proyek JDK 1.7 dengan ketergantungan maven ke jar lokal di repo maven saya.
Saya tidak dapat membangun proyek menggunakan Intellij, dengan kesalahan bahwa simbol tidak dapat ditemukan (simbolnya adalah kelas yang mengimpor paket dari jar lokal)
Tetapi saya berhasil membangun proyek menggunakan 'mvn package'.
Saya telah menghabiskan begitu banyak waktu untuk mencari solusi, hal-hal yang telah saya lakukan:
- Cache tidak divalidasi
- 'mvn clean install' ketergantungan jar lokal
- Ditandai sebagai 'autoload snapshots' dalam konfigurasi maven Intellij
- Menunjukkan kembali maven di Intellij
- Disinkronkan
Kesalahan ini terjadi pada saya beberapa kali sebelumnya, tetapi biasanya hanya menutup Intellij dan / atau melakukan 'mvn clean install' melakukan trik.
Tolong bantu.
java
scala
maven
intellij-idea
Yarin Miran
sumber
sumber
Jawaban:
Saya tahu ini terlambat tetapi mengeksekusi
mvn idea:idea
menyelesaikan masalah.sumber
mvn idea:idea
belum diperbarui, dan tidak dikelola oleh jetbrainsCoba hapus semua .iml dan POM Anda. Kemudian salin dan tempel POM Anda lagi ke proyek Anda dan buka kembali dan impor kembali.
sumber
*.iml
,*.ipr
dan*.iws
file dari direktori root proyek, maka pembukaan kembali Intellij tetap bagi sayaSaya menemukan bahwa file .iml dan pom saya bentrok dan menyebabkan masalah.
sumber
C:\Users\USERNAME\.IntelliJIdea2017.2\system
. Setelah itu, saya melakukangit clean -xdf
di direktori sumber untuk menghapus semua file non-berversi, dan mengimpor proyek lagi. Bekerja seperti pesona sekarang.Menambahkan beberapa tip lagi karena ini adalah hal pertama yang muncul dalam pencarian ketika saya mengalami masalah serupa (proyek dibangun di mvn, bukan di IntelliJ), seandainya itu dapat membantu orang lain.
Ketika saya mengalami ini, itu adalah perbaikan yang berbeda pada Windows dan Mac.
Di Mac, saya membuka ItellijIDEA / Preferences / Build, Execution, Deployment / Build Tools / Maven / Maven Home Directory dan mengaturnya untuk menggunakan Maven yang saya instal secara terpisah daripada Maven yang dibundel. Semua masalah build hilang.
Di Windows, saya melihat pengecualian di idea.log terkait dengan SSL dan pohon proyek saya hanya memiliki Java di bawah cabang Perpustakaan Eksternal. Dari melihat situs lain, sepertinya IntelliJ menggunakan JDK pribadinya sendiri dan bukan JDK sistemnya (meskipun dalam kasus saya, saya sudah menginstal versi JDK yang sama persis). JDK sistem saya memiliki sertifikat yang diinstal di keystore untuk server Nexus perusahaan yang tidak dimiliki oleh JDK pribadi IntelliJ, jadi pengecualian dilemparkan saat mencoba mendapatkan file dari Nexus. Untuk ini solusinya adalah dengan keluar dari IntelliJ, setel variabel lingkungan yang disebut IDEA_JDK untuk diarahkan ke JDK yang sudah saya instal yang memiliki sertifikat yang tepat dan mulai ulang IntelliJ. Semua masalah build hilang.
sumber
Maven
ReImport
bekerja untuk saya seperti di bawah ini ...sumber
IDE menggunakan salinan Maven yang dibundel sendiri saat melakukan build. Jika maven di terminal berbeda dengan IDE, maka Anda ingin keduanya sama.
GOTO (Pada Mac) - Ide IntelliJ -> Preferensi -> Build, Execution, Deployment -> Build Tools -> Maven. Mengatur jalur untuk Direktori Rumah Maven Anda Untuk menemukan jalur untuk Maven yang Anda gunakan dari terminal, ketik perintah
mvn -version
dan yang akan mencetak banyak rincian termasuk jalur dir. Taruh itu di Direktori Utama Maven .Untuk amannya Anda juga bisa melakukan hal yang sama untuk lokasi JDK
==== Beberapa Hal Lain yang dapat menyebabkan masalah seperti itu ===
Jika melakukan mvn package atau mvn clean install build, maka itu harus dilakukan dengan cache IDE. Antara lain, yang ini biasanya membantu dengan kesalahan seperti itu ->
File -> Cache tidak valid
sumber
Saya tahu saya cukup terlambat untuk percakapan ini, tetapi hanya ingin memposting ini jika ada orang lain yang menemukan masalah ini. Alasan lain mengapa ini terjadi adalah karena Anda tidak merujuk ke repositori yang benar. Intellij mengambil versi bundel dari sebuah jar secara default, bukan yang dari repositori maven Anda sendiri. Konfirmasikan bahwa repositori yang terhubung adalah yang benar.
sumber
Dalam kasus saya, iml saya tidak sinkron, jadi saya menghapus iml untuk modul tertentu dan kemudian di bawah opsi maven pilih unignore project untuk membuat ulang iml
sumber
dari command prompt, jalankan commnad:
mvn idea:idea
dan klik kanan pada proyek -> dari menu impor ulang dependensisumber
"simbol tidak dapat ditemukan" berarti intellij tidak dapat menyelesaikan "ketergantungan". Jadi, Anda bisa memaksa "Analisis Dependensi" dengan mengklik "Analisis" -> "Analisis Dependensi" lalu pilih "Cakupan Analisis"
sumber
Banyak tip berharga dalam jawaban lain di sini, hanya ingin menambahkan solusi yang berhasil untuk masalah saya .
Kami baru-baru ini mulai menggunakan repositori Maven pribadi dan selalu melakukannya
mvn -s settings.xml
saat menjalankan cmdline Maven. IntelliJ tentu saja tidak mengetahui tentang private repo, jadi perlu sedikit bantuan.Buka Pengaturan -> Bangun, Eksekusi, Penyebaran -> Alat Bangun -> Maven dan timpa opsi "File Pengaturan Pengguna".
sumber
Saya memiliki masalah yang sama. Pergi ke:
File -> Struktur Proyek -> Modul . Pilih modul Anda dan di bawah tab " Dependencies ", pastikan bahwa semua dependensi maven telah ditambahkan.
Untuk memastikan Anda diperingatkan tentang masalah serupa di editor gagasan: alihkan dari "tab Dependensi" ke "Sumber" dan tambahkan tandai src Anda sebagai sumber.
sumber
Saya memiliki masalah yang sama. Saya telah mengubah versi maven dari 3.0.5 menjadi 3.0.4 dalam pengaturan Idea dan semuanya berfungsi dengan baik sekarang. Tidak tahu mengapa itu membantu saya.
sumber
Saya mencoba membuat cache tidak valid, mengubah Maven ke versi yang diinstal dan tidak ada yang berhasil.
Menutup dan membuat ulang proyek baru menyelesaikannya.
sumber
Saya menutup proyek dan mengimpornya lagi dengan mengklik root pom (bukan hanya foldernya, tetapi file pom itu sendiri).
sumber
Saya mencoba semua hal di atas tanpa kegembiraan. Namun saya melakukan satu hal yang akhirnya berhasil:
Saya pergi ke C: \ Users \ .IntellijJIdea2018.2 dan baru saja menghapus seluruh folder.
Ini menghapus semua pengaturan dan cache untuk IntelliJ. Saya harus mengimpor ulang proyek saya dari awal tetapi penghapusan dan impor ulang yang sederhana belum pernah berhasil sebelumnya, tetapi ini akhirnya membuatnya berfungsi kembali.
sumber
Jika Anda menggunakan gradle, coba perintah di bawah ini. Ini menyelesaikan masalah saya
gradle cleanIdea idea
sumber
Prosedur sederhana ini memakan waktu sekitar 1 menit tanpa risc.
sumber
Hapus folder .idea dan tutup IDE
buka IDE lagi dan impor proyek yang akan melakukan impor baru karena folder .IDEA dihapus oleh kami sebelumnya
Periksa modul perpustakaan eksternal dan jika tidak diisi dengan dependensi yang diperlukan, periksa apakah lokasi maven settings.xml diberikan dengan benar di IDE
sumber
Ada juga kemungkinan yang tidak disebutkan. Jika Anda mengimpor perpustakaan dari
com.sun.*
. Ini juga akan menyebabkan masalah ini.Program bekerja ketika dijalankan di ide, karena kelas-kelas ini di
com.sun.*
semua dalamjre/lib
direktori, itu akan dimuat saat berjalan. Tetapi ketika Anda menjalankanmvn package
, pustaka ini tidak akan dapat diakses karena pembatasan oracle sejak java 1.6 (pustaka ini sudah tidak digunakan lagi). Untuk mengatasi masalah ini, Anda dapat menambahkan<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <verbose /> <bootclasspath>C:/Program Files/Java/jdk1.8.0_161/jre/lib/rt.jar</bootclasspath> </compilerArguments> </configuration> </plugin> </plugins> </build>
ingatlah untuk mengganti jalur cootclass dengan jalur Anda sendiri
rt.jar
Anda dapat mencari
Access restriction: The type XXX is not accessible due to restriction on required library
lebih detail.sumber
Jika ada modul yang salah dikonfigurasi, lakukan langkah-langkah ini:
sumber
sumber
Dalam kasus saya, masalahnya ada pada versi Project Java SDK yang berbeda. Ketika saya membangun proyek dari terminal, maven menggunakan Java 8, dan ketika saya membangun dari IDEA menggunakan Java 11.
Buka File> Struktur Proyek ... dan dalam Pengaturan Proyek, setel SDK Proyek ke versi yang Anda butuhkan.
sumber
Bagi saya masalahnya adalah saya memilih kompiler Ajc dalam pengaturan IntelliJ Java Compiler . Setelah saya mengubahnya kembali ke Javac semuanya bekerja dengan baik.
sumber
Bagi saya di Mac, saya menyelesaikannya dengan menghapus Aplikasi Ide Intellij dari komputer saya dan menghapus file cache di ~ / Library / Application Support / JetBrains / IntelliJIdea2020.1 ~ / Library / Caches / JetBrains / IntelliJIdea2020.1
Kemudian instal ulang, buka proyek saya, dan bangun dengan sukses!
sumber
Saya mengalami masalah yang sama. Saya berhasil menjalankan
mvn clean package
perintah di terminal tetapi gagal menjalankan atau membangun dari IntellJ. Saya melakukan tindakan berikut tetapi semuanya gagal.mvn clean package
ataumvn clean package
di terminalmvn clean package
mvn idea:idea
Hal terakhir yang saya lakukan berhasil: Hapus .idea dan .iml dalam proyek, hapus semua file dependensi, lalu hapus IntellJ dari komputer. Setelah menginstal ulang IntellJ, proyek saya berhasil dibangun. Saya berharap saya bisa memiliki cara yang lebih baik untuk menyelesaikan ini.
sumber