IntelliJ: Làm việc trên nhiều dự án


332

Chúng tôi xây dựng trong nhiều dự án (hãy đặt tên cho chúng là A, B, C). Dự án A sử dụng .jar của dự án B sử dụng .jar của dự án C.

Tôi đang sửa đổi mã của tất cả các dự án A / B / C, (A là ứng dụng MVC, B là dịch vụ kinh doanh và C là một số lớp được chia sẻ).

Vấn đề là, trong Eclipse / NetBeans tôi có thể thấy tất cả chúng cùng một lúc và thật thoải mái khi sửa đổi chúng. Mặc dù trong IDEA, tôi phải mở 3 phiên bản (hoặc n thể hiện) của IntelliJ IDEA.

Tui bỏ lỡ điều gì vậy? Có cách tiếp cận tốt hơn khi sử dụng IntelliJ? Đây là nhược điểm lớn nhất của IntelliJ đối với tôi.


3
Nhìn qua các câu trả lời cho đến nay, ý chính cơ bản mà tôi thấy là IntelliJ định nghĩa cái mà Eclipse gọi là "dự án" là mô-đun và "không gian làm việc" là dự án. Ý tưởng là để đảm bảo rằng các mô-đun trong cùng một dự án có liên quan khá với nhau. Vì vậy, nếu dự án A phụ thuộc vào dự án B, nhưng cả hai đều hoàn toàn không liên quan đến dự án C, sẽ tốt hơn nếu mở các dự án A và B dưới dạng các mô-đun trong cùng một dự án IntelliJ, trong khi mở C trong một dự án riêng trong trường hợp IntelliJ thứ hai. Bạn có thể đồng ý hoặc không đồng ý với thiết kế, nhưng (giả sử tôi đã nắm bắt chính xác ý tưởng) Tôi tôn trọng ý nghĩ đằng sau nó.
John Chesshir

Câu trả lời:


134

Vâng, trực giác của bạn là tốt. Bạn không nên sử dụng ba trường hợp của intellij. Bạn có thể mở một Dự án và thêm các 'phần' ứng dụng khác dưới dạng Mô-đun. Thêm chúng thông qua trình duyệt dự án, phím nóng mặc định là alt + 1


1
Tôi cũng đang làm như vậy: nhập dự án chính, sau đó tôi nhập dự án thứ hai của mình bằng 'nhập mô-đun', nhưng sau đó - tôi đã nhận được "Các mô-đun này đã bị xóa khỏi cấu trúc maven: ... Bạn có muốn xóa chúng không từ dự án quá? " - Sau đó, tôi nhấn 'Không'. Nhưng hộp thoại này xuất hiện nhiều lần. Tôi có thể làm gì?
nnhthuan

99
Câu trả lời tốt hơn dưới đây
redDevil

3
@redDevil cái nào?
Piotr Findeisen

4
@redDevil Không! Câu trả lời này chung chung hơn, nếu bạn có các dự án không phải là maven, câu trả lời này tốt hơn vì câu trả lời được bình chọn hàng đầu chỉ đơn giản là không bao gồm chúng. Hai câu trả lời giải quyết các tình huống khác nhau và có liên quan như nhau, không ai tốt hơn người kia.
luk2302

2
Điều này tốt hơn câu trả lời "Chỉ dành cho Maven" nhưng không hữu ích nếu bạn có các dự án không liên quan mà bạn muốn hiển thị đồng thời (ví dụ: dễ dàng truy cập để tham khảo mã của dự án khác) hoặc nếu bạn hỗ trợ thư viện phụ thuộc vào dự án bạn đang tập trung vào. Vô cùng bực bội khi IJ không sử dụng mô hình Eclipse / NetBeans ở đây, đó là điều chính ngăn tôi chuyển sang IJ.
Manius

422

Tôi nghĩ rằng điều này đã được cải thiện với các phiên bản gần đây của IntelliJ. Trong phiên bản hiện tại của tôi (12.0.2), bạn có thể thêm bất kỳ số lượng dự án Maven riêng biệt nào vào cùng một "không gian làm việc".

Cách đơn giản nhất mà tôi đã tìm thấy để thực hiện việc này là nhấp vào +biểu tượng nhỏ trong cửa sổ "Dự án Maven" (Xem> Công cụ Windows> Dự án Maven) và sau đó chọn tệp pom bổ sung bạn muốn nhập.


2
Chỉ cần thêm: một khi Dự án Maven được thêm vào, nó sẽ tải trong bảng Project nếu đó là một dự án cục bộ.
Aram Kocharyan

9
Nếu các dự án này nằm trong các kho git khác nhau, bạn có thể kiểm tra 'Kiểm soát kho lưu trữ đồng bộ' trong cài đặt (Cài đặt> Kiểm soát phiên bản> Git). IntelliJ sẽ tiếp tục đẩy, cập nhật và lựa chọn chi nhánh được đồng bộ hóa qua nhiều dự án.
Tim Van Laer

13
Đối với những người chưa quen với IntelliJ và không biết cửa sổ "Dự án Maven" ở đâu: góc trên cùng bên phải.
Dustin.schultz

1
Với phiên bản 2017 thì khác, hãy tham khảo jetbrains.com/help/idea/2017.1/maven-projects-tool-window.html
vikramvi

3
Vì vậy, nếu bạn cần mở nhiều dự án, nhưng chúng là các dự án Gradle hoặc Ant, bạn vẫn không gặp may. Không, cảm ơn ... Tôi cần có thể mở cả 3, như NetBeans và Eclipse cho phép. Thiếu không gian làm việc thích hợp là lý do số 1 tôi vẫn không sử dụng IJ.
Manius

215

Vui lòng làm theo 2 bước sau:

Bước 1 : Mở "Dự án Maven"

nhập mô tả hình ảnh ở đây

Bước 2 : Chọn dự án bạn muốn nhập:

nhập mô tả hình ảnh ở đây


20
Một bưc tranh đang gia ngan lơi noi.
Neeraj Jain

3
Cảm ơn, điều này thực sự hữu ích
J. Adam

3
Câu trả lời này giúp tôi rất nhiều, đặc biệt, khi sử dụng ảnh chụp màn hình. Cảm ơn bạn.
Chaklader Asfak Arefe

1
Đây là câu trả lời tôi đang tìm kiếm. Cảm ơn rất nhiều :)
Jerin Kurian

1
Tôi không thấy tùy chọn trong ví dụ của mình:2019.3 community
Marinos An

133

Điều kiện tiên quyết

Có tất cả các dự án liên quan trong cùng một thư mục gốc.

Các bước

1) Trước tiên, bạn tạo một dự án rỗng mới

Dự án trống mới


2) Sau đó, bạn chọn thư mục gốc của tất cả các dự án bạn.

Điều này sẽ tạo ra một dự án trống, với một thư mục .idea sẽ chỉ cần nhớ tổ chức mô-đun mà chúng ta sắp làm trong bước tiếp theo

Chọn thư mục gốc


3) Sau đó, trong cửa sổ tiếp theo, bạn nhập các dự án khác nhau dưới dạng mô-đun

Nhập dự án dưới dạng mô-đun


4) Trong cửa sổ tiếp theo, để nhập từng dự án, chỉ cần nhấp đúp chuột vào build.gradle hoặc pom.xml

Dự án sẽ được nhập khẩu dưới dạng một mô-đun mới. Chọn tập tin xây dựng


5) Xong, giờ đây bạn có tất cả các dự án của mình dưới dạng các mô-đun, được mở trên cùng một dự án IntelliJ

Kết quả


15
Đây là câu trả lời chính xác cho câu hỏi này. Đầu tiên, tạo và làm trống dự án và sau đó thêm các dự án hiện có. Cảm ơn.
hrzafer

3
bạn có giải pháp. Nhưng 'Điều kiện tiên quyết của bạn Có tất cả các dự án liên quan trong cùng một thư mục gốc.' không được yêu cầu. Tôi đã thử cho các dự án maven và nó hoạt động tốt với phiên bản Intelllij 2017.3. Tôi đã không thử với các mô-đun tiêu chuẩn intellij mặc dù.
Vỏ Gauthier

1
Giải pháp chính xác!
Seditesh

2
Câu trả lời hàng đầu. Cảm ơn bạn :)
AnarchoEnte

2
Làm việc cho tôi với Intellij Idea 2018.3 và Gradle.
sinh

53

Trong IntelliJ 14.1.2, tôi đã làm như sau:

Lựa chọn File -> Project Structure-> Modules.

Chọn +Import Modulechọn thư mục của dự án của bạn (hoặc thư mục có pom tồn tại) và nhấp vào OK.

Thực hiện theo các luồng màn hình tiếp theo và sau khi bạn nhấp vào Finish, bạn sẽ thấy dự án cùng với màn hình hiện tại của bạn.

nhập mô tả hình ảnh ở đây


không thể thêm mô-đun như thế này. Cannot import anything from C:/Projects/
bao giờ alian

@everalian, bạn có pom.xml trong C: / Project hay ở nơi khác không?
Neo

Không, tôi không có tệp pom.xml. Bởi vì tôi sử dụng Gradlexây dựng.
bao giờ alian

2
Đây phải là giải pháp được chấp nhận. Không phải tất cả các dự án sử dụng maven.
Babken Vardanyan

giải pháp tuyệt vời, tốt hơn giải pháp được chấp nhận
Olivier Boissé

34

Không có giải pháp nào phù hợp với tôi, vì tôi không làm việc trong các dự án Maven. Có một giải pháp đơn giản hơn. Đi đến:

Tệp-> Cấu trúc dự án-> Mô-đun.

nhập mô tả hình ảnh ở đây

Thay vì thêm mô-đun, chỉ cần nhấp vào tùy chọn thứ ba (sao chép).Duyệt thư mục địa phương của bạn và chọn dự án bạn muốn thêm. Tên mô-đun sẽ tự động giải quyết. Đó là nó.

Cập nhật: Khi bạn muốn mở lại dự án với nhiều dự án con, để tránh làm lại các bước như được mô tả ở trên, chỉ cần đi tới Tệp-> Mở gần đây -> 'Dự án lớn của bạn'.


1
Có ... oh Có .... Đây là giải pháp mà tôi đang tìm kiếm. Nhập dưới dạng mô-đun maven hoặc dự án không tạo .ideaxxx.imltệp. Điều này có thể gây ra vấn đề với gạch apache . Tôi đang sử dụng với phiên bản 2018.1.5. Cảm ơn bạn rât nhiêu.
Cataclysm

Thật đáng kinh ngạc! Chỉ có nhược điểm là chỉ sử dụng IDE làm trình soạn thảo và vẫn phải điều hướng đến đúng thư mục để biên dịch và chạy. Bất cứ ai cũng có một cách dễ dàng để sử dụng giải pháp này cho nhiều thư mục (mô-đun sao chép) và vẫn biên dịch và chạy trong trình chỉnh sửa?
Greg Hilston

11

Để mở rộng câu trả lời @Neo: sau khi chọn thư mục của bạn. chọn import module from external modelvà chọn mô hình của bạn (maven trong trường hợp này).

chọn mô hình

Sau đó kiểm tra keep project filestùy chọn từ hộp thoại tiếp theo. Nó sẽ giữ tất cả các tập tin trong thư mục gốc.

tùy chọn

Cấu trúc dự án cuối cùng của bạn sẽ là một cái gì đó như thế này.

kết cấu

Bây giờ bạn có thể thêm mô-đun của mình làm phụ thuộc vào mô-đun khác pom.xmlvà nếu bạn thay đổi mã nguồn của các phụ thuộc của mình, Intellij sẽ chăm sóc cập nhật dự án của bạn (không cần phải chạy mvnxây dựng thủ công cho các phụ thuộc)


8
  • dự án trống mới
  • Tệp -> Mới -> Mô-đun từ các Nguồn hiện có

6

Bạn có thể sử dụng plugin Armory giúp chuyển đổi giữa các dự án thoải mái. Phím tắt mặc định cho Danh sách dự án là Alt + A .

Ảnh chụp màn hình của cửa sổ Danh sách dự án

Theo mặc định, các dự án hiện đang mở được hiển thị ở đầu danh sách này (với kiểu in đậm ).


6

Mở tùy chọn -> ngoại hình & hành vi -> Cài đặt hệ thống -> chọn (mở dự án trong cửa sổ mới) sau đó áp dụng.nhập mô tả hình ảnh ở đây

Sau đó, bạn có thể mở và chỉnh sửa nhiều dự án.


5
Đây chính xác là những gì OP đang cố gắng tránh. Anh ấy muốn chúng trong cùng một cửa sổ, cả ba dự án cùng một lúc.
Simon Forsberg

6

Đối với những người sử dụng Gradle cũng có thể tận dụng tương tự:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Truy cập: 1. Xem -> Công cụ Windows -> Lớp 2. Nhấp vào +nút và thêm build.gradletệp của bạn


Bạn đang sử dụng Phiên bản cộng đồng hay Phiên bản cuối cùng? Tôi mới biết đến Intellij và chỉ có CE (2019.3.3). Điều này không có Gradle trong menu đó.
mike gặm nhấm

4

Nhấn "F4" trên các cửa sổ sẽ mở ra "Cấu trúc dự án" và sau đó nhấp vào biểu tượng "+" hoặc "Alt + Chèn" để chọn dự án mới sẽ được nhập; sau đó nhấp vào nút OK ...


Cảm ơn vì chìa khóa. Sẽ rất hữu ích nếu bạn quên thêm bất cứ điều gì với câu trả lời của @ ThisIsFlorianK!
Seditesh

4

Sử dụng nút cho các dự án thêm maven và vào bên trong thư mục của dự án. Sau đó, chọn pom.xmltệp và thêm chúng vào IntelliJ.

nhập mô tả hình ảnh ở đây


1

Đối với những người không sử dụng maven để xây dựng và muốn thêm một dự án mới (tôi đang sử dụng intellij 14.1.3):

  1. Nhấp chuột phải vào thư mục cấp cao nhất trong chế độ xem dự án, chọn mới -> Mô-đun
  2. Đặt tên cho mô-đun cùng tên với dự án sẽ được thêm vào
  3. Từ menu trên cùng chọn File-> New-> Project. Nhập cùng tên với mô-đun mới, cùng vị trí thư mục.
  4. Mở Project và đợi intellij tạo cấu trúc dự án.
  5. Đóng dự án mới này và mở dự án ban đầu, mô-đun đã được thêm vào trong bước 2

Tùy thuộc vào trình tạo của bạn, sẽ cần các bước bổ sung để thêm nó vào quy trình xây dựng.

Đối với SBT và trong dự án cấp cao nhất, tôi đã sửa đổi tệp Build.scala để tổng hợp dự án mới và thêm dự án vào cửa sổ dự án SBT. Thông tin thêm về các bản dựng đa hướng SBT: http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Multi-Project.html


IntelliJ đã thêm hỗ trợ để thêm các mô-đun sbt vào một dự án và nó hoạt động rất tốt, nhưng dường như nó đã bị hỏng kể từ phiên bản 2017. Bạn vẫn có thể thêm nhiều mô-đun sbt nhưng khi bạn làm mới, cuối cùng bạn sẽ mất tất cả trừ một mô-đun.
Nader Ghanbari

1

Để Intellij IDEA 2019.2, F4 + nhấp vào mô-đun, nhấp vào + để thêm bất kỳ dự án nào từ ổ cứng của bạn, phía trên menu này bạn có thể chỉnh sửa IDE khi bạn tạo dự án và nhiều tùy chọn hơn, rất dễ dàng


0

bạn có thể sử dụng tùy chọn mô-đun nhập sẽ mở nó giống như nhật thực trong cùng một bộ điều hướng.


nó nói không thể mở .ipr vào dự án
bao giờ hết vào

0

Tôi chưa quen với maven và không hiểu làm thế nào tôi có thể làm việc với dự án maven địa phương được thêm vào thông qua câu trả lời của Viktor Nordling và vẫn có một sự phụ thuộc thích hợp trong tệp pom.xml. Câu trả lời rất đơn giản: đầu tiên intellij nhìn vào mô-đun được thêm vào cục bộ của bạn và nếu không tìm thấy mô-đun, nó sẽ lấy dự án từ xa.Bạn có thể kiểm tra điều này bằng cách xem "thư viện bên ngoài" trong trình duyệt dự án của bạn khi bạn thêm hoặc xóa mô-đun maven.

Hy vọng điều này sẽ giúp bất cứ ai.


0

Kể từ phiên bản 2019.2, việc này dễ dàng như File-> Đính kèm dự án.

🎉🎉🎉🎉🎉

File-> Đính kèm dự án

Xem: https://youtrack.jetbrains.com/su/weB-7968


Bạn đang sử dụng Phiên bản cộng đồng hay Phiên bản cuối cùng? Tôi mới biết đến Intellij và chỉ có CE (2019.3.3). Điều này không có dự án Đính kèm trong menu đó.
mike gặm nhấm

-1

Không cần phải chuyển toàn bộ dự án sang một mô-đun. Trường hợp sử dụng cho mô-đun là một hạt mịn hơn một chút so với như một thùng chứa dự án.

Để mở nhiều dự án trong cùng một cửa sổ:

Tệp -> Mở dự án

Chọn mở trong cửa sổ này.

Chọn hộp cho biết thêm vào dự án hiện tại.


1
không làm việc. nó thay thế dự án đã mở hiện tại vào cùng một cửa sổ.
bao giờ alian

3
@everalian không may tính năng này đã bị xóa.
BAR
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.