Cara terbaik untuk menambahkan dukungan Gradle ke Proyek IntelliJ


168

Saya telah melihat sekeliling sedikit dan belum menemukan solusi terbaik untuk mengubah proyek IntelliJ yang ada menjadi Gradle. Saya bekerja di lingkungan tim dan kami saat ini membagikan file .ipr karena kami memiliki beberapa konfigurasi build yang kami lacak. Kami akan menyingkirkan mereka yang mendukung Gradle pada akhirnya, tetapi saya tidak dapat mengacaukan semuanya sampai konversi Gradle selesai.

Juga, file sumber Java kami terletak di root dari direktori src bukan src / main / java seperti standar.

Apakah ada cara saya dapat menambahkan Gradle ke proyek saya yang tidak akan membuat saya menghapus dan membuat ulang proyek IntelliJ saya dan tidak akan mengacaukan orang lain ketika mereka melakukan tarikan Git?


2
Untuk menjawab pertanyaan direktori sumber Anda - Anda perlu mengganti direktori sumber default dengan sourceSet . Lihat bagaimana kami melakukan ini pada driver Java MongoDB: github.com/mongodb/mongo-java-driver/blob/…
Trisha

Jawaban:


208

Menambahkan:

build.gradle 

di folder proyek root Anda, dan gunakan plugin misalnya:

apply plugin: 'idea'
//and standard one
apply plugin: 'java'

dan dengan api ini dari baris perintah:

gradle cleanIdea 

dan setelah itu:

gradle idea

Setelah itu semuanya harus bekerja


7
ketika mencoba solusi ini apakah ada yang menemukan kesalahan "Modul 'xx' tidak didukung oleh gradle? jika demikian bagaimana itu diselesaikan
Marquis Blount

Terima kasih ini membuat saya gila dan saya tidak tahu cara membuat IntelliJ menyegarkan kembali dependensi proyek setelah menambahkannya ke build.gradle.
Amala

ide gradle (itu tergantung pada ideaProject, ideaModule, ideaWorkspace) tidak bekerja untuk saya karena ideaModule terus gagal. Alih-alih, tugas gradle ideaProject bekerja dengan baik dan proyek sekarang diaktifkan Gradle.
paranza

Baiklah ada masalah dengan pendekatan ini. Anda akan mendapatkan kesalahan "dependensi tidak dapat diterapkan ke groovy.lang.closure". Lihat solusi ini sebagai gantinya: stackoverflow.com/a/17168175/2517730
Yar

1
Ini agak ketinggalan jaman, karena plugin Ide Gradle masih menggunakan proyek ide berbasis file, sedangkan proyek berbasis folder adalah standar dan jauh lebih berguna
Xerus

74

Tidak perlu menghapus .imlfile apa pun . Ikuti ini:

  • tutup proyek
  • File -> Open... dan pilih yang baru Anda buat build.gradle
  • IntelliJ akan bertanya apakah Anda mau:
    • Open Existing Project
    • Delete Existing Project and Import
  • Pilih opsi kedua dan Anda selesai

Bagaimana saya bisa memperbaiki masalah, bahwa proyek baru harus ada di folder lain?
barracuda317

Apakah ini menambahkan JAR dari Struktur Proyek Anda | Perpustakaan sebagai dependensi dan buat EAR (menggunakan plugin) sebagaimana didefinisikan dalam Struktur Proyek | Artefak?
PEMBERITAHUAN

@NOTiFY Saya ragu itu. Ini setara dengan memeriksa proyek dari awal.
Michal Kordas

@Michal Kordas Saya menambahkan semua dependensi dengan tangan, tidak memakan waktu mendekati waktu yang saya harapkan dan sekarang menambahkan penciptaan WAR, JAR & EAR. Ada permintaan fitur untuk ini di JetBrains youtrack.jetbrains.com/issue/IDEABKL-6990
NOTiFY

46

Cara lain, lebih sederhana.

Tambahkan

build.gradle

file ke root proyek Anda. Tutup proyek. Secara manual menghapus file * .iml. Kemudian pilih "Impor Proyek ...", navigasikan ke direktori proyek Anda, pilih file build.gradle dan klik OK.


21

Di IntelliJ 2017.2.4 Saya baru saja menutup proyek dan membukanya kembali dan saya mendapat dialog yang menanyakan apakah saya ingin menghubungkan dengan build.gradle yang membuka dialog impor untuk proyek Gradle.

Tidak perlu menghapus file apa pun atau menambahkan plugin ide ke build.gradle .


2
Dapat mengkonfirmasi ini berfungsi dengan baik. Jalankan saja gradle init di root proyek, maka Anda akan mendapatkan dialog saat Anda membuka proyek berikutnya.
Alex H.

16

Sama seperti referensi di masa depan, jika Anda sudah memiliki Mavenproyek yang perlu Anda lakukan adalah melakukan gradle initdi direktori proyek Anda yang akan menghasilkan build.gradledan dependensi lainnya, kemudian lakukan gradle builddi direktori yang sama.


2
Yang menarik: Membuat Build Gradle Baru - Catatan: gradle initdapat menghasilkan berbagai jenis proyek, dan bahkan tahu cara menerjemahkan pom.xmlfile sederhana ke Gradle.
Guy Coder

7

Saya menggunakan IntelliJ Versi 12.

Saya memecahkan masalah yang sama dengan membuat proyek yang sama sekali baru dan "Memeriksa dari Kontrol Versi" Menggabungkan kedua proyek kemudian cukup mudah.


1
  1. Tambahkan build.gradledi direktori root proyek Anda.

  2. Kemudian File->Invalidate Caches / Restart

Berikut ini adalah build.gradle dasar untuk proyek Java:

plugins {
    id 'java'
}

sourceCompatibility = '1.8'
targetCompatibility = '1.8'
version = '1.2.1'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.