Mendapatkan dependensi Gradle di IntelliJ IDEA menggunakan build Gradle

145

Pembuatan kelas, bahkan dari dalam IntelliJ IDEA tidak menempatkan dependensi ke dalam folder "Perpustakaan Eksternal", jadi kelas ini tidak muncul sebagai saran di editor dan ketika saya menambahkannya secara manual sebagai impor, ada kesalahan kompilasi.

Bagaimana saya bisa mendapatkan IntelliJ untuk secara otomatis memasukkan dependensi dalam file build.gradle saya , misalnya:

compile 'com.google.code.gson:gson:1.7.2

Andrew
sumber
2
Impor proyek sebagai proyek gradle, pastikan Anda telah mengaktifkan dukungan gradle.
M. Deinum

Jawaban:

195

Anda juga perlu mengimpor proyek sebagai proyek Gradle dari dalam Idea. Saat menambahkan dependensi, Anda perlu membuka jendela Gradle dan melakukan refresh.

Atau buat file proyek dari gradle dengan ini:

build.gradle:

apply plugin: 'idea'

Dan kemudian jalankan:

$ gradle idea

Jika Anda memodifikasi dependensi, Anda perlu menjalankan kembali di atas.

tddmonkey
sumber
apply plugin: 'idea'harus ditambahkan dalam hal apapun.
Peter Niederwieser
@PeterNiederwieser - jika Anda melakukan impor dari Idea, apa efeknya?
tddmonkey
Ia memungkinkan untuk mengkonfigurasi berbagai aspek setup IntelliJ (misalnya JDK mana yang akan digunakan), yang harus dijalankan dengan impor. Jika build Anda tidak memiliki konfigurasi seperti itu, mungkin tidak perlu menerapkan plugin (saya belum pernah mencoba tanpanya).
Peter Niederwieser
terima kasih, senang mengetahui, saya secara eksklusif menggunakan gradle untuk menghasilkan file proyek untuk saya jadi tidak perlu melakukan ini
tddmonkey
Penangguhan yang sama saat membuat file proyek, kecuali bahwa penerapan plugin jelas tidak opsional dalam kasus itu.
Peter Niederwieser
197

Setelah menambahkan dependensi, buka tab "Gradle" ('View' -> Tool Windows-> Gradle) dan tekan "refresh"

contoh penambahan (kompilasi 'io.reactivex: rxjava: 1.1.0'):

tekan segarkan

Jika Idea masih tidak bisa menyelesaikan ketergantungan, maka kemungkinan besar ketergantungan tersebut tidak ada di mavenCentral () repositori dan Anda perlu menambahkan repositori tempat ketergantungan ini terletak di dalam repositori {}

Andrew
sumber
13
Tapi sepertinya itu tidak berhasil. Saya menambahkan ketergantungan dan menyegarkan, tetapi ketika saya mencoba mengimpor pustaka baik dalam XML atau Kode Sumber Java, IDEA tidak dapat menyelesaikannya.
AuBee
3
Bekerja untuk saya. Untungnya, bahkan tanpa menggunakan plugin gradle idea.
gMale
2
@AuBee: Saya memiliki masalah yang sama. Itu hilang ketika saya membuat (hanya sekali) menggunakan Gradle dari baris perintah.
Thomas
@ Thomas Ya. CLI selalu memiliki kendali lebih besar
Andrew
@AuBee Jika Idea tidak dapat menyelesaikan ketergantungan, maka kemungkinan ketergantungan tersebut tidak ada dalam repositori mavenCentral () dan Anda juga perlu menambahkan repositori ke dalam repositori {}
Andrew
21

Saat mengimpor proyek Gradle yang sudah ada (satu dengan a build.gradle) ke IntelliJ IDEA, saat disajikan layar berikut, pilih Impor dari model eksternal -> Gradle .

Impor proyek dari model eksternal

Secara opsional, pilih Impor Otomatis di layar berikutnya untuk mengimpor dependensi baru secara otomatis.

Qix - MONICA SALAH
sumber
3
Sebenarnya, jawaban ini memecahkan masalah saya dan harus menjadi hal pertama yang Anda lakukan sebelum jawaban yang benar di atas.
quickinsights
3
Ini adalah satu-satunya solusi yang benar-benar berfungsi dan benar. Menambahkan sesuatu ke gradle.properties hanya untuk ide jelas salah.
user219882
Saya tidak bisa mendapatkan penyorotan sintaks dan pelengkapan otomatis untuk bekerja sama sekali tanpa melakukan langkah ini pada impor asli. Anda mungkin dapat memperbaikinya tanpa mengimpor ulang tetapi ini jauh lebih mudah, setidaknya untuk proyek kecil.
Ed Norris
@ user219882 - mengapa menambahkan sesuatu ke bangunan Anda "benar-benar salah"?
tddmonkey
@tddmonkey karena IDE yang dipilih pengguna untuk digunakan tidak relevan untuk menjelaskan cara pembuatan berlangsung.
Qix - MONICA DISALAHKAN
13

Bagi mereka yang mendapatkan kesalahan "Tidak dapat menyelesaikan ketergantungan":
Nonaktifkan "Mode Offline"
('Tampilan' -> Alat Windows-> Gradle)

jendela gradle

Jingxuan Zhou
sumber
8

Postingan Andrey di atas masih berlaku untuk versi terbaru Intellij per Kuartal ke-3 tahun 2017. Jadi gunakanlah. Karena, proyek build, dan build gradle baris perintah eksternal, TIDAK menambahkannya ke dependensi eksternal di Intellij ... gila karena kedengarannya itu benar. Satu-satunya perbedaan sekarang adalah bahwa UI terlihat berbeda dengan yang di atas, tetapi ikon yang sama untuk pembaruan digunakan. Saya hanya memberikan jawaban di sini, karena saya tidak dapat menempelkan cuplikan dari UI baru ... Saya tidak ingin ada suara maksimal. Andrey masih memberikan jawaban yang benar di atas: masukkan deskripsi gambar di sini

Beezer
sumber
1

Dalam kasus saya, saya mendapatkan kesalahan saat menyegarkan tab gradle ('View' -> Tool Windows-> Gradle) dan tekan "refresh" dan mendapatkan kesalahan ini tidak ada properti gradleversion untuk kelas jetgradleplugin.

Harus menginstal intellij terbaru yang kompatibel dengan gradle 5+

Saurabh
sumber
0

Sudah mencoba semuanya di utas ini dan tidak ada yang berhasil untuk saya di IntelliJ 2020.2. Jawaban ini berhasil , tetapi saya harus mengatur jalur yang benar ke JDK dan memilihnya dalam pengaturan Gradle setelah itu (seperti yang ditunjukkan pada gambar di bawah):

  1. Menyetel jalur yang benar untuk Java SDK (di bawah File-> Struktur Proyek):

masukkan deskripsi gambar di sini

  1. Di Jendela Gradle, klik "Pengaturan Gradle ..."

masukkan deskripsi gambar di sini

  1. Pilih SDK yang benar dari (1) di sini:

masukkan deskripsi gambar di sini

Setelah itu, opsi "Reload All Gradle Projects" mengunduh semua dependensi seperti yang diharapkan.

Bersulang.

reinaldoluckman
sumber