IntelliJ: Working on multiple projects

Intellij Idea

Intellij Idea Problem Overview


We build in maven multiple projects (let's name them A,B,C). Project A uses .jar of project B which uses .jar of project C.

I am modifying codes of all A/B/C projects, (A is MVC app, B are business services and C is some shared layer).

The thing is, in Eclipse/NetBeans I can see all of them at once and it's comfortable to modify them. In IDEA though, I have to open 3 instances (or n instances) of IntelliJ IDEA.

Am I missing something? Is there better approach when using IntelliJ? This is the biggest downside of IntelliJ for me atm.

Intellij Idea Solutions


Solution 1 - Intellij Idea

I think this has improved with recent versions of IntelliJ. In my current version (12.0.2), you can add any number of separate Maven projects to the same "workspace".

The simplest way I've found to do this is to click the little + icon in the "Maven Projects" window (View > Tool Windows > Maven Projects) and then select the additional pom file you want to import.

Solution 2 - Intellij Idea

Step 1: open "Maven Projects"

enter image description here

Step 2: select the project you want to import:

enter image description here

Solution 3 - Intellij Idea

Prequisite

Having all the related projects in the same root directory can be helpful.

Steps

1) First you create a new Empty project

New empty project


2) Then you select the root directory of all your projects.

This will create a empty project, with a .idea directory that will simply remember the module organisation we are about to do in the next step

Select root directory


3) Then, in the next window, you import the different projects as modules

Import projects as modules


4) In the next window, to import each project, simply double click on the build.gradle, or pom.xml

The project will be imported as a new module. Select build file


5) Done, you now have all your projects as modules, opened on the same IntelliJ project

Result

Solution 4 - Intellij Idea

Yes, your intuition was good. You shouldn't use three instances of intellij. You can open one Project and add other 'parts' of application as Modules. Add them via project browser, default hotkey is alt+1

Solution 5 - Intellij Idea

In IntelliJ 14.1.2, I did it like following:

Select File->Project Structure->Modules.

Select + and Import Module and select the directory of your project(or directory where pom exists) and click OK.

Follow through the next flow of screens and after you click Finish, you should see the project alongside your existing one.

enter image description here

Solution 6 - Intellij Idea

None of the solutions worked for me, since I am not working on Maven projects. There is a simpler solution. Go to:

File->Project Structure->Modules.

enter image description here

Instead of adding module, simply click the third option (copy). Browse your local directory and select the project you would like to add. Module name will resolve automatically. That's it.

Update: When you want to reopen to project with multiple sub-projects, in order to avoid re-doing steps as described above, just go to File->Open Recent->'Your Big Project'.

Solution 7 - Intellij Idea

Since macOS Big Sur and IntelliJ IDEA 2020.3.2 you can use "open projects in tabs on macOS Big Sur" feature. To use it, you have to enable this feature in your system settings:

System Preferences -> General -> Prefer tabs [always] when opening documents

enter image description here

After this step, when you will try to open second project in IntelliJ, choose New Window (yes, New Window, not This Window).

enter image description here

It should result with opening new project in same window, but in the new card:

enter image description here

Solution 8 - Intellij Idea

To expand @Neo answer: after choosing your directory. select import module from external model and choose your model (maven in this case).

choose model

Then check keep project files option from next dialog. It will keep all files in original directory.

options

Your final project structure would be something like this.

structure

Now you can add your module as dependency to other module's pom.xml and if you change the source code of your dependencies, Intellij takes care of updating your project (there is no need to run mvn build manually for dependencies)

Solution 9 - Intellij Idea

  • new empty project
  • File -> New -> Module from Existing Sources

Solution 10 - Intellij Idea

For who uses Gradle can also avail the same:

enter image description here

enter image description here

Go to:

  1. View --> Tool Windows --> Gradle
  2. Click on the + button and add your build.gradle file

Solution 11 - Intellij Idea

Open preference -> appearance & behaviour -> System settings -> select (open project in new window) then apply.enter image description here

Then you could open and edit multiple projects.

Solution 12 - Intellij Idea

You can use Armory plugin which makes switching between projects comfortable. The default shortcut for Project List is Alt + A.

Screenshot of Project List window

By default currently opened projects are displayed at the top of this list (with bold style).

Solution 13 - Intellij Idea

Use the button for the add maven projects and go inside the folder of the project. Then, select the pom.xml file and add them in the IntelliJ.

enter image description here

Solution 14 - Intellij Idea

Press "F4" on windows which will open up "Project Structure" and then click "+" icon or "Alt + Insert" to select a new project to be imported; then click OK button...

Solution 15 - Intellij Idea

To Intellij IDEA 2019.2, F4 + click on module, click to + for add any project from your HDD, above this menu yo can edit the IDE with you create the project and more options, very easy

Solution 16 - Intellij Idea

you can use import module option which will open it just like eclipse in the same navigator.

Solution 17 - Intellij Idea

For people not using maven to build and wanting to add a new project (I am using intellij 14.1.3):

  1. Right click the top level folder in the project view, select new -> Module
  2. Name the module the same name as the project to be added
  3. From the top menu select File->New->Project. Enter the same name as the new module, same folder locations as well.
  4. Open the Project, and wait for intellij to create the project structure.
  5. Close this new project, and open the original project the module was added to in step 2

Depending on your builder, additional steps will be needed to add it to the build process.

For SBT, and in the top level project I modified the Build.scala file to aggregate the new project, and added the project in the SBT projects window. More info on SBT multiproject builds: http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Multi-Project.html

Solution 18 - Intellij Idea

I am new to maven and did not understand how I could work with local maven project added through Viktor Nordling's answer and still have a proper dependency in pom.xml file. The answer is simple: intellij first looks at your locally added module and if it doesn't find one it goes to get the project remotely. You can check this by looking at "external libraries" under your project browser when you add or remove maven module.

Hope this helps anyone.

Solution 19 - Intellij Idea

For IntelliJ Idea 2021.3.3 users, The below solution didn't work for me, although I was selecting my project main folder, I've gotten only the main and test folders imported!

Peoject Structure => Modules => Import module

The solution is:

view => tool Windows => Maven => click the + icon => add the project POM.xml file

enter image description here

Solution 20 - Intellij Idea

I will personally advise you to put all relatable projects in a folder, then go to IntelliJ then click on Files > Open..., then search for the folder that contains the projects you want then open it.

Solution 21 - Intellij Idea

Assuming they are under the same folder, click File-Open File or Project-

Solution 22 - Intellij Idea

There is no need to move entire projects to a module. The use case for module is a bit finer grained than as a project container.

To open multiple projects in the same window:

File -> Open Project

Select open in this window.

Check box that says add to current project.

Solution 23 - Intellij Idea

As of release 2019.2, this is as easy as File->Attach Project.



File->Attach Project

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionXortyView Question on Stackoverflow
Solution 1 - Intellij IdeaViktor NordlingView Answer on Stackoverflow
Solution 2 - Intellij IdeaThoView Answer on Stackoverflow
Solution 3 - Intellij IdeaThisIsFlorianKView Answer on Stackoverflow
Solution 4 - Intellij IdeaŁukaszBachmanView Answer on Stackoverflow
Solution 5 - Intellij IdeaNeoView Answer on Stackoverflow
Solution 6 - Intellij IdeagmodeView Answer on Stackoverflow
Solution 7 - Intellij Ideapitagoras3View Answer on Stackoverflow
Solution 8 - Intellij IdeaartronicsView Answer on Stackoverflow
Solution 9 - Intellij Idea1lOtzM291WView Answer on Stackoverflow
Solution 10 - Intellij IdeaAbhishek RansinghView Answer on Stackoverflow
Solution 11 - Intellij IdeaRaymondView Answer on Stackoverflow
Solution 12 - Intellij IdeaPHPLegoView Answer on Stackoverflow
Solution 13 - Intellij IdeaArefeView Answer on Stackoverflow
Solution 14 - Intellij IdeaAkshay LokurView Answer on Stackoverflow
Solution 15 - Intellij Ideadanilo paradaView Answer on Stackoverflow
Solution 16 - Intellij IdeaSMHasnainView Answer on Stackoverflow
Solution 17 - Intellij IdeaJennView Answer on Stackoverflow
Solution 18 - Intellij IdeadrakonliView Answer on Stackoverflow
Solution 19 - Intellij IdeaIkbelView Answer on Stackoverflow
Solution 20 - Intellij IdeaUchephilzView Answer on Stackoverflow
Solution 21 - Intellij Ideauser19085032View Answer on Stackoverflow
Solution 22 - Intellij IdeaBARView Answer on Stackoverflow
Solution 23 - Intellij IdeaJeremy JohnView Answer on Stackoverflow