Saya punya pertanyaan kecil tentang IntelliJ IDEA 11. Saya baru saja mengimpor proyek dari subversi - ini adalah proyek pakar. Tapi saya punya masalah dalam dependensi maven library sehingga saya tidak bisa memasukkan semua dependensi maven secara otomatis - IDEA hanya menunjukkan kesalahan dependensi ketika saya membuka kelas itu / Itulah yang saya dapatkan di sini:
Jadi saya ingin semua dependensi ditambahkan secara otomatis - apakah itu mungkin atau apakah saya harus melalui semua file kelas untuk mengidentifikasi dan menambahkan dependensi pakar ?!
UPDATE: Setelah melakukan beberapa modifikasi saya menemukan cara menyelesaikan masalah saya dengan beberapa cara. Itulah yang saya lakukan:
tapi saya pikir secara logis itu tidak akan termasuk dan memeriksa dependensi baru di depan?! ... Apakah ada area pengaturan untuk ini di intelliJ - dependensi ekspor otomatis ke classpath?!
sumber
Jawaban:
IntelliJ harus mengunduh dan menambahkan semua dependensi Anda ke classpath proyek secara otomatis selama POM Anda patuh dan semua dependensi tersedia.
Saat mengimpor proyek Maven ke IntelliJ, kotak informasi biasanya muncul menanyakan apakah Anda ingin mengonfigurasi Impor Otomatis untuk proyek Maven. Itu berarti bahwa jika Anda membuat perubahan pada POM Anda, perubahan itu akan dimuat secara otomatis.
Anda dapat mengaktifkan fitur tersebut ke File> Pengaturan> Maven> Mengimpor, ada kotak centang yang mengatakan "Impor proyek Maven secara otomatis".
Jika itu tidak membantu, maka saya akan menyarankan untuk melakukan pembersihan penuh dan mulai lagi:
*.iml
file dan semua.idea
folder (harus ada satu per modul)mvn clean install
dari baris perintahPembaruan IntelliJ 2016 :
Pengaturan Import Maven Projects secara otomatis telah dipindahkan ke Build, Execution, Deployment> Build Tools> Maven> Mengimpor dalam preferensi IntelliJ Anda.
sumber
Perbaiki sebelum IntelliJ 14
File [menu] -> Pengaturan -> maven -> mengimpor dan hapus centang "gunakan maven3 untuk mengimpor proyek"
ref: http://youtrack.jetbrains.com/issue/IDEA-98425 (yang mungkin memiliki beberapa ide lain juga)
Perbaiki IntelliJ 15+
Lihat lagi, dengan IntelliJ 15 kali ini, yang tidak memiliki opsi "gunakan maven3 untuk mengimpor" lagi. Penyebabnya adalah bahwa kadang-kadang IntelliJ "tidak mengurai ketergantungan maven dengan benar" dan jika tidak mengurai salah satu dari mereka dengan benar, tampaknya menyerah pada mereka semua , tampaknya. Anda dapat mengetahui apakah ini masalahnya dengan membuka jendela alat proyek maven (Lihat menu -> Alat Windows -> Proyek Maven). Kemudian perluas salah satu proyek pakar dan dependensinya. Jika semua dependensi digarisbawahi dengan warna merah, "Houston, kami memiliki masalah".
Anda benar-benar dapat melihat kegagalan nyata dengan mousing atas nama proyek itu sendiri.
Dalam contoh saya, tertulis "Masalah: Tidak ada versi yang tersedia untuk XXX" atau "Gagal membaca keterangan untuk artifact org.xy.z" ref: https://youtrack.jetbrains.com/issue/IDEA-128846 dan https: // youtrack.jetbrains.com/issue/IDEA-152555
Tampaknya dalam kasus ini saya berurusan dengan toples yang tidak memiliki file pom terkait (dalam repo pakar kami, dan juga repositori lokal saya). Jika ini juga masalah Anda, "aripekerjaan saat ini: jika Anda tidak benar-benar perlu menggunakan kelas dari toples itu dalam kode Anda sendiri (misalnya hanya ketergantungan maven transitif), Anda sebenarnya bisa lolos dengan berkomentar keluar dari pom (sementara), proyek maven dimuat ulang, dan kemudian batalkan komentarnya. Entah bagaimana setelah itu IntelliJ "mengingat" dependensi kerjanya yang lama. Menambahkan maven transitif dikecualikan sementara mungkin juga melakukannya, jika Anda menabraknya dari rantai dependensi transitif. "
Hal lain yang mungkin membantu adalah menggunakan "versi yang lebih baru" dari maven daripada bundel 3.0.5. Untuk mengaturnya agar menggunakan ini sebagai default, tutup semua windows intellij Anda, kemudian buka preferensi -> build, eksekusi dan deployment -> build tools -> maven, dan ubah direktori home maven, seharusnya mengatakan "Untuk default memproyeksikan "di bagian atas ketika Anda menyesuaikan ini, meskipun Anda dapat menyesuaikannya untuk proyek tertentu juga, selama Anda" mengimpor "setelah menyesuaikannya.
Hapus Cache
Menghapus folder cache intellij Anda (windows: HOMEPATH /. {IntellijIdea, IdeaC} XXX linux ~ / .IdeaIC15) dan / atau menghapus dan menginstal ulang IntelliJ itu sendiri. Ini juga dapat dilakukan dengan masuk ke File [menu] ->
Invalidate Caches / Restart...
. Klikinvalidate and restart
. Ini akan mengindeks ulang seluruh proyek Anda dan menyelesaikan banyak masalah yang sulit dilacak dengan IntelliJ.sumber
Maven home directory
ke versi yang digunakan tumpukan kami (3.3.9) memperbaiki masalah bagi saya.maven home directory
dariBundle (Maven 3)
ke jalan tempat pakar saya dipasang.../maven/3.6.1/libexec
bekerja untuk sayaSaat mengimpor proyek, pilih
pom.xml
bukan direktori proyek. Itu harus bekerja.sumber
Cobalah untuk Mengimpor Ulang proyek dari panel Proyek Maven di IntelliJ IDEA. Seharusnya mengunduh dan mengonfigurasi semua dependensi yang ditentukan dalam Anda
pom.xml
secara otomatis.Jika unduhan tidak berfungsi dari IDEA karena alasan tertentu, coba
mvn install
dari baris perintah dan lihat apakah dependensinya dapat diambil.Tentu saja semua dependensi yang diperlukan dan repositori kustom apa pun harus ditentukan secara langsung dalam
pom.xml
file.sumber
Untuk IntelliJ 2016-2.4 (dan saya percaya versi baru-ish lainnya):
Lihat> Alat Windows> Proyek Maven
Di bilah alat yang baru dibuka, pilih pengaturan Maven (ikon dari set alat).
Ketika layar ini terbuka, perluas menu Maven dan klik 'Impor'
Di sini, klik "Impor proyek Maven secara otomatis." Juga pastikan bahwa opsi 'JDK untuk Importir' cocok dengan versi JDK yang ingin Anda gunakan.
Klik OK. Sekarang pergi ke ketergantungan merah di pom.xml Anda, pilih bola lampu merah, dan klik 'Perbarui indeks Maven'.
sumber
Apa yang membantu saya:
Navigasi: Pengaturan | Bangun, Eksekusi, Penempatan | Maven
Tentukan "direktori home Maven" - tempat Anda menginstal maven
sumber
Jika modul maven tertentu tidak dikompilasi, periksa apakah pom.xml mereka ada di daftar "file yang diabaikan". Dalam IntelliJ goto
dan periksa apakah pom.xml terkait diabaikan.
sumber
Buka
IntelliJ Idea
, Buka File> Pengaturan Lainnya> Pengaturan Default ...> Maven (Preferensi)> Mengimpor atau |Preferences > Maven > Importing
Klik Aktifkan Impor Otomatis di konsol.
sumber
Saat Anda membuat proyek baru, Anda hanya perlu memilih opsi:
...
Impor proyek dari model eksternal
Buat struktur proyek IDEA di atas model eksternal yang ada (Eclipse, Maven ...)
...
Anda akan menemukannya langsung dari sana.
Dan dalam kasus Anda, Anda dapat menutup proyek Anda dan hanya membuat yang baru. Pilih direktori proyek Anda, yang akan menimpanya, menjadikannya proyek Maven.
sumber
Mengimpor dependensi Maven mungkin tidak berfungsi jika Anda mengimpor jalur yang sama beberapa kali. Ini dapat terjadi secara otomatis setelah mengimpor proyek pakar yang ada. Saya tidak tahu mengapa ini terjadi, jadi saya cenderung berpikir itu adalah bug.
Misalnya, jika proyek saya adalah
tiga jalur dapat diimpor sebagai simpul teratas:
Jika demikian, dependensi tampaknya benar, tetapi mereka tidak akan digunakan sampai Anda menghapus jalur berlebihan (dalam kasus ini,
src/main
dansrc/test
). Setelah Anda melakukan ini, segarkan dan klik Build> Rebuild Project. IDEA akan mengambil dependensi.Gejala masalah ini adalah bahwa IDEA memperingatkan Anda tentang jalur duplikat ketika Anda secara manual memeriksa perpustakaan (tangkapan layar kedua dalam pertanyaan).
Ada beberapa cara untuk membaca kembali dependensi jika Anda membutuhkannya. Jika Anda pergi ke tab "Proyek Maven", ada ikon "Masukkan kembali Semua Proyek Maven" di kiri atas tab. Jika Anda mencurigai IDEA menjadi bingung, Anda dapat mengklik File> Valid Cache.
sumber
Pergilah ke struktur proyek Anda, di bawah Pengaturan proyek, Modul, pilih tabel dependensi. Untuk setiap ketergantungan, ubah cakupan dari 'Tes' ke 'Kompilasi'.
sumber
Impor kembali proyek. Jika Anda menginstal plugin maven, Anda dapat menggunakan ini.
Klik kanan pada proyek -> Maven -> Reimport
sumber
Jalur cek pertama Ditentukan untuk file Pengaturan Pengguna: dalam Pengaturan -> Bangun, Eksekusi, Pengembangan -> Bangun Alat -> Maven . Bidang tersebut harus memiliki lintasan pengaturan.xml pakar Anda. Juga settings.xml harus memiliki jalur repositori jarak jauh yang benar.
sumber
Saya memiliki masalah serupa, dalam kasus saya saya menggunakan kebiasaan
settings.xml
yang tidak dipilih dari IntelliJ.Solusi:
File > Settings > Build, Execution, Deployment > Maven: User settings file
(pilih di sini pengaturan khusus saya.xml).sumber
Saya memiliki masalah yang sama dan mencoba semua jawaban yang disebutkan di sini, tidak ada yang berhasil.
Solusi sederhana adalah pergi ke folder proyek Anda dan hapus semua file .idea dan .iml dan restart ide IntelliJ. Berhasil. Tidak perlu melakukan apa pun dengan pengaturan.
sumber
Saya mengalami masalah bahwa beberapa subdependensi tidak dapat diselesaikan di IntelliJ 2016.3.X. Ini dapat diperbaiki dengan mengubah
Maven home directory
di Pengaturan> Bangun, Eksekusi, Penempatan> Bangun Alat> Maven dariBundled (Maven 3)
menjadi/usr/share/maven
.Setelah itu semua subdependensi teratasi seperti pada versi IntelliJ sebelumnya.
sumber
Maven - Reimport tidak bekerja untuk saya. Saya memiliki proyek Musim Semi di STS (Eclipse) dan solusi saya adalah mengimpor proyek ke IDEA seperti:
1) File - Baru - Proyek dari Sumber yang Ada ... - pilih direktori - pilih Eclipse.
2) Setel autoimport Maven ke true dalam pengaturan.
3) Kemudian klik kanan di pom.xml dan pilih Add as Maven Project.
Setelah ini mengimpor semuanya.
sumber
Saya memiliki masalah yang sama dengan macbook saya, hanya melakukan sedikit perubahan
pom.xml
dan mulai mengunduh semua dependensi:Ketergantungan sebelumnya ditulis seperti di bawah ini untuk mesin windows saya:
Aku hanya dihapus
<dependencies>
dan</dependencies>
tag dan mulai men-download semua dependensi:Saya tidak yakin itu akan bekerja untuk Anda atau tidak .. tetapi bekerja dengan baik untuk saya.
Terima kasih
sumber
Jika di sudut kanan bawah tertulis "2 proses berjalan ..." atau serupa, Anda mungkin hanya perlu menunggu sampai selesai, karena mungkin perlu waktu untuk mengunduh semua toples.
sumber
Saya memecahkan masalah ini dengan memperbarui file settings.xml saya dengan konfigurasi mirror yang benar, tampaknya intellij akan mencoba mengunduh meta-data dari repositori setiap kali modul pakar diimpor.
sumber
Membajak sedikit untuk menambahkan apa yang akhirnya bekerja untuk saya:
Pergilah ke
Maven Projects
bilah sisi di tepi kanan IDE, dan verifikasi bahwa dependensi Anda terdaftar dengan benar di bawah modul Anda di sana. Dengan asumsi mereka, hanya meminta IDEA untuk mengimpor kembali kemudian (tombol pertama di atas, terlihat seperti dua panah biru yang membentuk lingkaran berlawanan arah jarum jam).Setelah saya melakukan itu, dan biarkan IDEA memuat kembali proyek untuk saya, semua ketergantungan saya dipahami secara ajaib.
Untuk referensi: ini dengan
IDEA 13.1.2
sumber
Saya menghadapi masalah yang sama dan mencoba semua yang disarankan yang tidak menyelesaikan masalah, saya menggunakan Intellij versi 13.1.3
Akhirnya setelah menghabiskan lebih dari beberapa jam mencoba memperbaikinya, saya memutuskan untuk mencoba versi yang ditingkatkan dan membuka proyek dalam versi 14.1.4 yang akhirnya menyelesaikan masalah. Saya akan berpikir ini sebagai kemungkinan bug di versi sebelumnya.
Saya harap ini membantu!
sumber
Saya dapat menyelesaikannya dengan menghapus modul yang tidak perlu dari Pengaturan Proyek -> Daftar modul .
Ternyata modul tambahan ini dibuat secara otomatis oleh IntelliJ IDEA ketika saya membuat proyek IntelliJ dengan mengimpor dari folder proyek (bukan dengan membuka pom.xml). Kemudian, setelah mendeklarasikan proyek sebagai proyek Maven, modul yang tepat dibuat, dan modul yang ada bertentangan dengan mereka. Dimungkinkan juga untuk mengecualikan modul-modul tersebut selama pembuatan proyek.
sumber
Menghapus folder .idea dari direktori proyek, dan kemudian mengimpor kembali proyek tersebut sebagai proyek Maven adalah yang berhasil bagi saya.
sumber
Dalam kasus saya, salah satu modul diabaikan karena beberapa alasan. Untuk mengatasinya: Klik kanan modul yang bermasalah dan pilih "Unignore Projects".
sumber
Dalam kasus saya, jalur untuk JAVA yang digunakan oleh MAVEN tidak ditetapkan sebagai JAVA_HOME seperti yang dikonfigurasi pada mesin. Karenanya, ia bahkan tidak mencoba mengunduh dependensi. Langkah-langkah yang saya ikuti yang memecahkan masalah ini,
Diperiksa untuk jalur JAVA, Pengaturan >> Bangun >> Bangun Alat >> Impor >> JDK untuk importir . Arahkan ke JAVA_HOME.
mvn clean install -U
Digunakan perintah di atas untuk memaksa unduhan dependensi.
Proyek Maven yang diimpor kembali
sumber
Jika semuanya gagal, periksa apakah file jar di repositori .m2 lokal Anda memang valid dan tidak rusak. Dalam kasus saya, file belum sepenuhnya diunduh.
sumber
Dalam maven dependensi disertakan untuk saya ketika saya menghapus bagian dependensiManagement xml dan hanya memiliki dependensi langsung di bawah bagian proyek
sumber
Masalahnya tampaknya bahwa meskipun daftar dependensi Anda di pom.xml, IntelliJ IDEA tidak membangun kembali dependensi tersebut ketika Anda menjalankan proyek Anda.
Apa yang berhasil bagi saya adalah ini:
Buka 'Jalankan' -> 'Edit Konfigurasi ...', cari aplikasi Anda, pastikan bagian "Sebelum peluncuran:" diperluas, klik tanda tambah hijau, dan pilih "Bangun Proyek".
sumber
saya dapat memperbaiki tambang dengan menambahkan baris kode ini setelah tag build di file pom.xml, saya membandingkannya dari proyek yang sedang berjalan dan menemukan perbedaannya, sekarang saya semua baik-baik saja.
sumber