我在maven中构建多个项目(让我们将它们命名为A,B,C)。项目A使用项目B的。jar文件,项目B使用项目C的。jar文件。

我正在修改所有A/B/C项目的代码,(A是MVC应用程序,B是业务服务和C是一些共享层)。

问题是,在Eclipse/NetBeans中,我可以一次看到所有这些,而且可以很方便地修改它们。在IDEA中,我必须打开IntelliJ IDEA的3个实例(或n个实例)。

我遗漏了什么吗?在使用IntelliJ时有更好的方法吗?对我来说,这是IntelliJ最大的缺点。


是的,你的直觉是对的。您不应该使用三个intellij实例。你可以打开一个项目,并将应用程序的其他“部分”添加为模块。通过项目浏览器添加它们,默认热键为alt+1


我认为最近版本的IntelliJ已经改进了这一点。在我当前的版本(12.0.2)中,您可以将任意数量的独立Maven项目添加到同一个“工作区”中。

我发现最简单的方法是点击“Maven Projects”窗口中的小+图标(View > Tool Windows > Maven Projects),然后选择你想要导入的额外pom文件。


你可以使用import module选项,它会像eclipse一样在同一个导航器中打开它。


在IntelliJ 14.1.2中,我是这样做的:

选择“文件->项目结构->模块”。

选择“+”和“Import Module”,选择项目的目录(或pom存在的目录),然后单击“确定”。

按照屏幕的下一个流程进行操作,在单击Finish之后,您应该会在现有的项目旁边看到该项目。


对于不使用maven来构建并想要添加新项目的人(我使用的是intellij 14.1.3):

右键单击项目视图中的顶级文件夹,选择new -> 模块 将模块命名为与要添加的项目相同的名称 从顶部菜单选择文件->新建->项目。输入与。相同的名称 新模块,相同的文件夹位置以及。 打开Project,等待intellij创建项目 结构。 关闭这个新项目,并打开模块所在的原始项目 添加到第2步

根据构建器的不同,需要执行其他步骤将其添加到构建过程中。

对于SBT,在顶级项目中,我修改了Build。并在SBT项目窗口中添加该项目。更多关于SBT多项目构建的信息:http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Multi-Project.html


要扩展@Neo的答案: 选择目录后。从外部模型中选择import module并选择您的模型(在本例中为maven)。

然后在下一个对话框中检查保持项目文件选项。它将保留所有文件在原始目录。

你最终的项目结构应该是这样的。

现在,您可以将您的模块作为依赖项添加到其他模块的pom.xml中,如果您更改了依赖项的源代码,Intellij将负责更新您的项目(不需要手动运行mvn构建依赖项)。


你可以使用Armory插件,使项目之间的切换舒适。项目列表的默认快捷键是Alt + A。

默认情况下,当前打开的项目显示在该列表的顶部(使用粗体样式)。


第一步:打开“Maven项目”

第二步:选择要导入的项目:


Prequisite

将所有相关项目放在同一个根目录中 会有帮助的。

步骤

1)首先创建一个新的Empty项目


2)然后选择所有项目的根目录。

这将创建一个空项目,带有一个.idea目录,该目录将简单地记住我们下一步要做的模块组织


3)然后,在下一个窗口中,您将不同的项目作为模块导入


4)在下一个窗口中,导入每个项目,只需双击构建。Gradle或pom.xml

项目将作为一个新模块导入。


5)完成后,您现在将所有项目作为模块,在同一个IntelliJ项目上打开


新的空项目 File -> New -> Module from Existing Sources


打开偏好->外观和行为->系统设置->选择(在新窗口中打开项目),然后应用。

然后,您可以打开并编辑多个项目。


在打开“项目结构”窗口时,按“F4”键,点击“+”图标或“Alt +插入”选择要导入的新项目;然后点击OK按钮…


这些解决方案都不适合我,因为我没有从事Maven项目。有一个更简单的解决方案。至:

文件- >项目结构- >模块。

无需添加模块,只需单击第三个选项(复制)。浏览您的本地目录并选择您要添加的项目。模块名称将自动解析。就是这样。

更新:当您想要重新打开具有多个子项目的项目时,为了避免重复执行上述步骤,只需转到 文件->打开最近->“你的大项目”。


我是maven的新手,不明白我如何能够使用通过Viktor Nordling的回答添加的本地maven项目,并且仍然在pom.xml文件中具有适当的依赖关系。答案很简单:intellij首先查看本地添加的模块,如果没有找到,它就去远程获取项目。当您添加或删除maven模块时,可以通过查看项目浏览器下的“外部库”来检查这一点。

希望这对大家有所帮助。


对于使用Gradle的人来说,同样也可以:

至: 1. >工具窗口> Gradle 2. 单击+按钮并添加构建。gradle文件


使用添加maven项目的按钮并进入项目的文件夹。然后,选择pom.xml文件并将它们添加到IntelliJ. xml文件中。


到Intellij IDEA 2019.2, F4 +点击模块,点击+从你的硬盘添加任何项目,在这个菜单上你可以编辑IDE与你一起创建项目和更多的选项,非常简单


由于macOS Big Sur和IntelliJ IDEA 2020.3.2,您可以使用“在macOS Big Sur的选项卡中打开项目”功能。要使用它,您必须在系统设置中启用此功能:

系统首选项->一般->当打开文档时首选选项卡[总是]

在此步骤之后,当您尝试在IntelliJ中打开第二个项目时,选择“新建窗口”(是的,新建窗口,而不是此窗口)。

它应该导致在同一个窗口中打开新项目,但在新卡中:


对于IntelliJ Idea 2021.3.3用户,下面的解决方案不适合我,虽然我选择了我的项目主文件夹,但我只导入了主文件夹和测试文件夹!

Peoject Structure => Modules => Import module

解决方案是:

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


假设它们在同一个文件夹下,单击文件-打开文件或项目-<父文件夹>。


“IntelliJ IDEA 2022.1.1(社区版)”你必须导航 要将现有模块添加到同一窗口,导航“文件->新建->模块来自现有源”,然后它将允许您选择pom.xml,然后单击“创建”按钮下一个窗口,然后项目将添加到您的当前工作空间。

注意:从Eclipse切换到Intellij是第一个问题


将项目导入IntelliJ后,进入各个模块的pom.xml ->右键单击->单击“Add as Moven project”。它将添加模块作为Moven项目,为项目中的所有模块这样做。请参考这个