我在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最大的缺点。


当前回答

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

希望这对大家有所帮助。

其他回答

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

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

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

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

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

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

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

对于不使用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

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

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

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

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