IntelliJ: Bekerja pada banyak proyek

332

Kami membangun banyak proyek (sebut saja A, B, C). Proyek A menggunakan .jar proyek B yang menggunakan .jar proyek C.

Saya memodifikasi kode dari semua proyek A / B / C, (A adalah aplikasi MVC, B adalah layanan bisnis dan C adalah beberapa lapisan bersama).

Masalahnya, di Eclipse / NetBeans saya bisa melihat semuanya sekaligus dan nyaman untuk memodifikasinya. Di IDEA, saya harus membuka 3 instance (atau n instance) dari IntelliJ IDEA.

Apakah saya melewatkan sesuatu? Apakah ada pendekatan yang lebih baik saat menggunakan IntelliJ? Ini adalah kerugian terbesar IntelliJ bagi saya, atm.

Xorty
sumber
3
Melihat melalui jawaban sampai saat ini, inti dasar yang saya lihat adalah IntelliJ mendefinisikan apa yang Eclipse sebut "proyek" sebagai modul, dan "ruang kerja" sebagai proyek. Idenya adalah untuk memastikan bahwa modul dalam proyek yang sama terkait secara adil. Jadi jika proyek A tergantung pada proyek B, tetapi keduanya sama sekali tidak terkait dengan proyek C, akan lebih baik untuk membuka proyek A dan B sebagai modul dalam proyek IntelliJ yang sama, sambil membuka C di proyek terpisah dalam contoh IntelliJ kedua. Anda dapat setuju atau tidak setuju dengan desain, tetapi (dengan asumsi saya sudah benar menangkap ide) saya menghormati pemikiran di baliknya.
John Chesshir

Jawaban:

134

Ya, intuisi Anda bagus. Anda seharusnya tidak menggunakan tiga contoh intellij. Anda dapat membuka satu Proyek dan menambahkan 'bagian' aplikasi lainnya sebagai Modul. Tambahkan mereka melalui browser proyek, hotkey default adalah alt + 1

ลukaszBachman
sumber
1
Saya melakukan hal yang sama: mengimpor proyek utama, kemudian saya mengimpor proyek kedua saya menggunakan 'modul impor', tetapi kemudian - Saya mendapat "Modul ini telah dihapus dari struktur pakar: ... Apakah Anda ingin mereka dihapus? dari proyek juga? " - Lalu saya tekan 'Tidak'. Tetapi dialog ini muncul berkali-kali. Apa yang dapat saya?
nnhthuan
99
Jawaban yang lebih baik di bawah ini
redDevil
3
@ RedDevil yang mana?
Piotr Findeisen
4
@ redDevil Tidak! Jawaban ini lebih umum, jika Anda memiliki proyek non-pakar jawaban ini lebih baik karena jawaban yang dipilih paling tidak mencakup mereka. Kedua jawaban mengatasi situasi yang berbeda dan sama-sama relevan, tidak ada yang lebih baik dari yang lain.
luk2302
2
Ini lebih baik daripada jawaban "Hanya Maven" tetapi tidak membantu jika Anda memiliki proyek yang tidak terkait yang ingin Anda lihat secara bersamaan (mis. Akses mudah untuk merujuk ke kode proyek lain), atau jika Anda mendukung perpustakaan yang merupakan ketergantungan dari proyek yang menjadi fokus Anda. Sangat membuat frustrasi bagaimana IJ tidak menggunakan model Eclipse / NetBeans di sini, itu hal utama yang mencegah saya beralih ke IJ.
Manius
423

Saya pikir ini telah membaik dengan IntelliJ versi terbaru. Dalam versi saya saat ini (12.0.2), Anda dapat menambahkan sejumlah proyek Maven terpisah ke "ruang kerja" yang sama.

Cara paling sederhana yang saya temukan untuk melakukan ini adalah dengan mengklik +ikon kecil di jendela "Proyek Maven" (Lihat> Alat Windows> Proyek Maven) dan kemudian pilih file pom tambahan yang ingin Anda impor.

Viktor Nordling
sumber
2
Hanya dengan menambahkan: begitu Proyek Maven ditambahkan, akan dimuat di panel Proyek jika itu adalah proyek lokal.
Aram Kocharyan
9
Jika proyek-proyek ini terletak di repositori git yang berbeda, Anda dapat memeriksa 'Kontrol repositori secara sinkron' di pengaturan (Pengaturan> Kontrol Versi> Git). IntelliJ akan terus mendorong, memperbarui, dan memilih cabang yang disinkronkan pada beberapa proyek.
Tim Van Laer
13
Bagi mereka yang baru mengenal IntelliJ dan tidak tahu di mana jendela "Maven Projects" adalah: sudut kanan atas.
dustin.schultz
1
Dengan versi 2017 berbeda, lihat jetbrains.com/help/idea/2017.1/maven-projects-tool-window.html
vikramvi
3
Jadi, jika Anda perlu beberapa proyek terbuka, tetapi mereka proyek Gradle atau Ant, Anda masih kurang beruntung. Tidak, terima kasih ... Saya harus bisa membuka semua 3, seperti NetBeans dan Eclipse memungkinkan. Kurangnya ruang kerja yang tepat adalah alasan # 1 saya masih tidak menggunakan IJ.
Manius
216

Silakan ikuti 2 langkah ini:

Langkah 1 : Buka "Proyek Maven"

masukkan deskripsi gambar di sini

Langkah 2 : Pilih proyek yang ingin Anda impor:

masukkan deskripsi gambar di sini

Tho
sumber
20
Sebuah gambar bernilai ribuan kata.
Neeraj Jain
3
Terima kasih, ini sangat berguna
J. Adam
3
Jawaban ini banyak membantu saya, terutama, untuk menggunakan tangkapan layar. Terima kasih.
Chaklader Asfak Arefe
1
Inilah jawaban yang saya cari. Terima kasih banyak :)
Jerin Kurian
1
Saya tidak melihat opsi dalam contoh saya:2019.3 community
Marinos An
134

Indah

Memiliki semua proyek terkait di direktori root yang sama .

Langkah

1) Pertama, Anda membuat proyek Kosong baru

Proyek kosong baru


2) Kemudian Anda memilih direktori root dari semua proyek Anda.

Ini akan membuat proyek kosong, dengan direktori .idea yang hanya akan mengingat organisasi modul yang akan kita lakukan pada langkah selanjutnya

Pilih direktori root


3) Kemudian, di jendela berikutnya, Anda mengimpor berbagai proyek sebagai modul

Impor proyek sebagai modul


4) Di jendela berikutnya, untuk mengimpor setiap proyek, cukup klik dua kali pada build.gradle , atau pom.xml

Proyek akan diimpor sebagai modul baru. Pilih build file


5) Selesai, Anda sekarang memiliki semua proyek Anda sebagai modul, dibuka pada proyek IntelliJ yang sama

Hasil

ThisIsFlorianK
sumber
16
Ini adalah jawaban yang tepat untuk pertanyaan ini. Pertama, buat dan kosongkan proyek dan kemudian tambahkan proyek yang ada. Terima kasih.
hrzafer
4
Anda punya solusinya. Tapi 'Prequisite Anda memiliki semua proyek terkait di direktori root yang sama.' tidak diperlukan. Saya mencoba proyek maven dan berfungsi baik dengan Intelllij versi 2017.3. Saya belum mencoba dengan modul standar intellij.
Gauthier Peel
2
Solusi tepat!
Satheesh
2
Jawaban teratas. Terima kasih :)
AnarchoEnte
2
Bekerja untuk saya dengan Intellij Idea 2018.3 dan Gradle.
Mengiris
53

Dalam IntelliJ 14.1.2, saya melakukannya seperti berikut:

Pilih File-> Project Structure->Modules .

Pilih +danImport Module dan pilih direktori proyek Anda (atau direktori di mana pom ada) dan klik OK.

Ikuti aliran layar berikutnya dan setelah Anda mengklik Finish, Anda akan melihat proyek di samping yang sudah ada.

masukkan deskripsi gambar di sini

Neo
sumber
tidak dapat menambahkan modul seperti ini. Cannot import anything from C:/Projects/
ever alian
@everalian, apakah Anda memiliki pom.xml di C: / Proyek atau di tempat lain?
Neo
Tidak, saya tidak punya file pom.xml. Karena saya menggunakan Gradlebuild.
ever alian
2
Ini harus menjadi solusi yang diterima. Tidak semua proyek menggunakan pakar.
Babken Vardanyan
34

Tidak ada solusi yang bekerja untuk saya, karena saya tidak mengerjakan proyek Maven. Ada solusi yang lebih sederhana. Pergi ke:

File-> Struktur Proyek-> Modul.

masukkan deskripsi gambar di sini

Alih-alih menambahkan modul, cukup klik opsi ketiga (salin).Jelajahi direktori lokal Anda dan pilih proyek yang ingin Anda tambahkan. Nama modul akan teratasi secara otomatis. Itu dia.

Pembaruan: Ketika Anda ingin membuka kembali proyek dengan beberapa sub proyek, untuk menghindari langkah-langkah melakukan kembali seperti yang dijelaskan di atas, buka File-> Buka Terbaru -> 'Proyek Besar Anda'.

gmode
sumber
1
Ya ... oh Ya .... Ini solusi yang saya cari. Mengimpor sebagai modul atau proyek pakar tidak menghasilkan .ideadan xxx.imlfile. Ini dapat menyebabkan masalah dengan ubin apache . Saya menggunakan dengan versi 2018.1.5. Terima kasih banyak.
Cataclysm
Ini luar biasa! Satunya downside menggunakan IDE hanya sebagai editor dan masih harus menavigasi ke folder yang benar untuk dikompilasi dan dijalankan. Adakah yang memiliki cara mudah untuk menggunakan solusi ini untuk banyak folder (modul yang disalin) dan masih mengkompilasi dan menjalankannya di editor?
Greg Hilston
11

Untuk memperluas jawaban @Neo: setelah memilih direktori Anda. pilih import module from external modeldan pilih model Anda (pakar dalam hal ini).

pilih model

Kemudian centang keep project filesopsi dari dialog berikutnya. Ini akan menyimpan semua file di direktori asli.

pilihan

Struktur tugas akhir Anda akan menjadi seperti ini.

struktur

Sekarang Anda dapat menambahkan modul Anda sebagai ketergantungan ke modul lain pom.xml dan jika Anda mengubah kode sumber dependensi Anda, Intellij menangani pembaruan proyek Anda (tidak perlu menjalankan mvnbuild secara manual untuk dependensi)

Sayur Jalal Hosseini
sumber
8
  • proyek kosong baru
  • File -> Baru -> Modul dari Sumber yang Ada
1lOtzM291W
sumber
6

Anda dapat menggunakan plugin Armory yang membuat perpindahan antar proyek menjadi nyaman. Shortcut default untuk Proyek Daftar adalah Alt + A .

Cuplikan layar jendela Daftar Proyek

Secara default, proyek yang saat ini dibuka ditampilkan di bagian atas daftar ini (dengan gaya tebal ).

PHPLego
sumber
6

Buka preferensi -> tampilan & perilaku -> Pengaturan sistem -> pilih (buka proyek di jendela baru) lalu terapkan.masukkan deskripsi gambar di sini

Kemudian Anda dapat membuka dan mengedit beberapa proyek.

Raymond
sumber
5
Inilah tepatnya yang ingin dihindari oleh OP. Dia ingin mereka berada di jendela yang sama, ketiga proyek sekaligus.
Simon Forsberg
6

Bagi yang menggunakan Gradle juga dapat memanfaatkan hal yang sama:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Pergi ke: 1. Lihat -> Alat Windows -> Gradle 2. Klik pada +tombol dan tambahkan build.gradlefile Anda

Abhishek Ransingh
sumber
Apakah Anda menggunakan Edisi Komunitas atau Edisi Ultimate? Saya baru mengenal Intellij dan hanya mendapat CE (2019.3.3). Ini tidak memiliki Gradle di menu itu.
mike rodent
4

Tekan "F4" pada jendela yang akan membuka "Struktur Proyek" dan kemudian klik ikon "+" atau "Alt + Sisipkan" untuk memilih proyek baru yang akan diimpor; lalu klik tombol OK ...

Akshay Lokur
sumber
Terima kasih untuk kuncinya. Sangat membantu jika Anda lupa untuk menambahkan sesuatu dengan jawaban @ ThisIsFlorianK!
Satheesh
4

Gunakan tombol untuk menambahkan proyek pakar dan masuk ke dalam folder proyek. Kemudian, pilih pom.xmlfile dan tambahkan di IntelliJ.

masukkan deskripsi gambar di sini

Chaklader Asfak Arefe
sumber
1

Bagi orang yang tidak menggunakan maven untuk membangun dan ingin menambahkan proyek baru (saya menggunakan intellij 14.1.3):

  1. Klik kanan folder tingkat atas dalam tampilan proyek, pilih baru -> Modul
  2. Beri nama modul dengan nama yang sama dengan proyek yang akan ditambahkan
  3. Dari menu atas pilih File-> New-> Project. Masukkan nama yang sama dengan modul baru, lokasi folder yang sama juga.
  4. Buka Proyek, dan tunggu intellij untuk membuat struktur proyek.
  5. Tutup proyek baru ini, dan buka proyek asli yang ditambahkan modul pada langkah 2

Bergantung pada pembuat Anda, langkah-langkah tambahan akan diperlukan untuk menambahkannya ke proses pembuatan.

Untuk SBT, dan dalam proyek tingkat atas saya memodifikasi file Build.scala untuk mengagregasi proyek baru, dan menambahkan proyek di jendela proyek SBT. Info lebih lanjut tentang build multi-proyek SBT: http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Multi-Project.html

Jenn
sumber
IntelliJ menambahkan dukungan untuk menambahkan modul sbt ke proyek dan itu bekerja sangat baik, tetapi tampaknya rusak sejak versi 2017. Anda masih dapat menambahkan beberapa modul sbt tetapi ketika Anda me-refresh, Anda akhirnya kehilangan semua kecuali satu.
Nader Ghanbari
1

Untuk Intellij IDEA 2019.2, F4 + klik modul, klik untuk + untuk menambahkan proyek apa pun dari HDD Anda, di atas menu ini Anda dapat mengedit IDE dengan Anda membuat proyek dan lebih banyak pilihan, sangat mudah

danilo parada
sumber
0

Anda dapat menggunakan opsi impor modul yang akan membukanya seperti gerhana di navigator yang sama.

SMHasnain
sumber
katanya tidak bisa membuka .ipr ke dalam proyek
alian
0

Saya baru mengenal pakar dan tidak mengerti bagaimana saya bisa bekerja dengan proyek pakar lokal yang ditambahkan melalui jawaban Viktor Nordling dan masih memiliki ketergantungan yang tepat pada file pom.xml. Jawabannya sederhana: intellij pertama-tama melihat modul yang ditambahkan secara lokal dan jika tidak menemukannya, proyek akan diambil dari jarak jauh.Anda dapat memeriksa ini dengan melihat "perpustakaan eksternal" di bawah browser proyek Anda ketika Anda menambah atau menghapus modul pakar.

Semoga ini bisa membantu siapa saja.

drakonli
sumber
0

Pada rilis 2019.2, ini semudah File-> Attach Project.

๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰

File-> Lampirkan Proyek

Lihat: https://youtrack.jetbrains.com/issue/WEB-7968

Jeremy John
sumber
Apakah Anda menggunakan Edisi Komunitas atau Edisi Ultimate? Saya baru mengenal Intellij dan hanya mendapat CE (2019.3.3). Ini tidak memiliki proyek Lampirkan di menu itu.
mike rodent
-1

Tidak perlu memindahkan seluruh proyek ke modul. Kasus penggunaan untuk modul sedikit lebih halus daripada sebagai wadah proyek.

Untuk membuka beberapa proyek di jendela yang sama:

File -> Buka Proyek

Pilih buka di jendela ini.

Centang kotak yang mengatakan tambahkan ke proyek saat ini.

BATANG
sumber
1
tidak bekerja itu menggantikan proyek yang dibuka saat ini ke jendela yang sama.
ever alian
3
@everalian sayangnya fitur ini telah dihapus.
BAR