我们在maven中构建了多个项目(我们将它们命名为A,B,C) . 项目A使用项目B的.jar,它使用项目C的.jar .
我正在修改所有A / B / C项目的代码,(A是MVC应用程序,B是业务服务,C是一些共享层) .
问题是,在Eclipse / NetBeans中,我可以同时看到所有这些,并且修改它们很舒服 . 但在IDEA中,我必须打开IntelliJ IDEA的3个实例(或n个实例) .
我错过了什么吗?使用IntelliJ时有更好的方法吗?对于我来说,这是IntelliJ的最大缺点 .
15 回答
是的,你的直觉很好 . 你不应该使用intellij的三个实例 . 您可以打开一个项目并将其他“应用程序”部分添加为模块 . 通过项目浏览器添加它们,默认热键是alt 1
我认为最近版本的IntelliJ有所改进 . 在我当前的版本(12.0.2)中,您可以将任意数量的单独Maven项目添加到同一个“工作区” .
我发现这样做的最简单方法是单击"Maven Projects"窗口中的小
+
图标(查看>工具窗口> Maven项目),然后选择要导入的其他pom文件 .请按以下步骤操作:
Step 1 :打开"Maven Projects"
Step 2 :选择要导入的项目:
先决条件
将所有 related 项目放在 same 根目录中 .
步骤
1)首先创建一个新的Empty项目
2)然后选择所有项目的根目录 .
这将创建一个空项目,其中.idea目录将简单地记住我们将在下一步中执行的模块组织
3)然后,在下一个窗口中,将不同的项目导入为模块
4)在下一个窗口中,要导入每个项目,只需双击build.gradle或pom.xml即可 .
该项目将作为新模块导入 .
5)完成后,您现在将所有项目作为模块,在同一个IntelliJ项目上打开
在IntelliJ 14.1.2中,我做了如下:
选择
File
- >Project Structure
- >Modules
.选择
+
和Import Module
并选择项目的目录(或存在pom的目录),然后单击“确定” .按照下一个屏幕流程进行操作,单击
Finish
后,您应该看到项目与现有项目一起 .没有一个解决方案适合我,因为我不在Maven项目上工作 . 有一个更简单的解决方案 . 去:
文件 - >项目结构 - >模块 .
Instead of adding module, simply click the third option (copy). 浏览本地目录并选择要添加的项目 . 模块名称将自动解决 . 而已 .
更新:如果要重新打开多个子项目的项目,为了避免重新执行上述步骤,只需转到文件 - >打开最近 - > 'Your Big Project' .
在选择目录后展开@Neo回答:选择
import module from external model
并选择您的模型(在本例中为maven) .然后从下一个对话框中检查
keep project files
选项 . 它会将所有文件保存在原始目录中 .你的最终项目结构将是这样的 .
现在您可以将模块作为依赖项添加到其他模块的
pom.xml
中,如果您更改了依赖项的源代码,Intellij会负责更新您的项目(不需要为依赖项手动运行mvn
build)新的空项目
文件 - >新建 - >现有来源的模块
打开首选项 - >外观和行为 - >系统设置 - >选择(在新窗口中打开项目)然后应用 .
然后,您可以打开并编辑多个项目 .
您可以使用Armory plugin,这使得项目之间的切换更加舒适 . “项目列表”的默认快捷方式是 Alt + A .
默认情况下,当前打开的项目显示在此列表的顶部(使用 bold 样式) .
在Windows上按“F4”,打开“项目结构”,然后单击“”图标或“Alt Insert”选择要导入的新项目;然后单击确定按钮...
您可以使用导入模块选项,它将像在同一导航器中的eclipse一样打开它 .
无需将整个项目移动到模块 . 模块的用例是比作为项目容器更细粒度 .
要在同一窗口中打开多个项目:
文件 - >打开项目
在此窗口中选择打开 .
复选框说明添加到当前项目 .
对于不使用maven构建并想要添加新项目的人(我正在使用intellij 14.1.3):
右键单击项目视图中的顶级文件夹,选择新建 - >模块
将模块命名为与要添加的项目相同的名称
从顶部菜单中选择File-> New-> Project . 输入与新模块相同的名称,同样的文件夹位置 .
打开项目,等待intellij创建项目结构 .
关闭此新项目,并在步骤2中打开已添加模块的原始项目
根据您的构建器,将需要其他步骤将其添加到构建过程中 .
对于SBT,在顶级项目中,我修改了Build.scala文件以聚合新项目,并在SBT项目窗口中添加了项目 . 有关SBT多项目构建的更多信息:http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Multi-Project.html
我是maven的新手,并且不明白我如何使用Viktor Nordling's answer添加的本地maven项目,并且仍然在pom.xml文件中具有适当的依赖性 . 答案很简单: intellij first looks at your locally added module and if it doesn't find one it goes to get the project remotely. 您可以在添加或删除maven模块时通过查看项目浏览器下的"external libraries"来检查 .
希望这有助于任何人 .