- 创建测试目录
- 使用 Open 方式打开
- 用 Import Project 方式打开
- 用 Open 方式打开文件夹下的多个项目
- 用 Import Project 的方式打开多个项目
- 总结
首先我们在 test 目录下手动创建一个 testIdea1 目录进行第一次测试,testIdea1 目录结构符合 Maven 目录结构,但是没有被任何 IDEA 打开过,其中的 pom.xml 中也没什么内容,就只有简单的 groupId, artifactId 等信息。
接下来我们点击 IDEA 启动界面的 Open 方式来打开这个目录,可以看到 testIdea1 图标右下角有一下黑色小框,个人猜测这是 IDEA 识别出了这是个 Maven 项目,所以标示了出来,选择 testIdea1 目录后点“OK”,打开项目。 打开项目后,可以看到,pom.xml 文件的图标被标识为了蓝色小 m 图标,表明 IDEA 识别了这是 Maven 项目(如果是普通的 xml 文件,不会是这个图标,后面我们会看到对比),并且右侧出现了 Maven 选项卡。如果 IDEA 没有识别出这是 Maven 项目,是不会出现 Maven 选项卡的,这也是为什么很多人说找不到 Maven 选项卡,因为 IDEA 没有把你这个项目当成 Maven 项目。
我们再回去看 testIdea1 目录,这时目录下生成了 .idea
文件夹和 testIdea1.iml,也就是说,打开过一次后,IDEA 把 testIdea1 转为了 IDEA 管理的 Maven 项目。
按照上面的方式,我们再手动创建一个 testIdea2 的 Maven 项目。
这一次,我们用 IDEA 启动界面的 Import Project 打开,如下图所示。 点“OK”后不会直接打开,让我们选择以什么方式打开,其实就是告诉 IDEA 我这个项目是什么形式的项目,这里我们选择 Maven 项目,因为我们的就是 Maven 项目。
选好后点 Finish,可以看到生成的结果和 Open 没有区别,都是识别为了一个 Maven 项目。
这里大家可以实验一下,如果上一步我们选择 Gradle 或其他非Maven形式来打开这个项目,可以看到 IDEA 没什么反应,又回到启动界面,因为我们明明是 Maven 项目,你却告诉 IDEA 用 Gradle 等其他方式打开,IDEA 不认识,所以也就没法打开。
通过以上过程可以发现,对于一个普通的 Maven 项目,用 Open 和 Import Project 其实没什么区别,只是 Import Project 要多一步,选择一下 Import 的形式,告诉 IDEA 这是个 Maven 项目。
用 Open 方式打开文件夹下的多个项目如果用 Eclipse 打开一个有多个 Maven 项目的文件夹(如上面测试用的 test 文件夹下的 testIdea1 和 testIdea2 两个项目),Eclipse 会自动识别到每个文件夹下的 pom.xml 文件,然后把所有的 Maven 项目都导入进来,并自动识别为 Maven 项目,那么用 IDEA 是不是这样的呢,我们来测试一下。
首先我们把刚才测试用的两个项目下的 .idea
文件夹和 xxx.iml 文件删除,这样它们又回到为两个普通 Maven 项目。 然后我们用 IDEA 的 Open 方式打开,这次我们直接选择 test 文件夹打开。
打开后结果如下图,可以看到,虽然被成功打开了,但是 IDEA 并没有将每个文件夹下的 Maven 项目识别为 Maven 项目。这种情况下,你在 pom.xml 中添加 dependency 也没用,IDEA 是不会导入包的。
这种情况下如果想让上面两个项目变成 Maven 项目,可以按如下步骤分别将两个项目再导入一次,就可以了。
重新导入一次(其实是两次,因为2个项目要分别导入一次)后的结果如下:
经过以上步骤我们再看一个我们的文件夹,test 下多了一个
.idea
文件夹,每个项目下多了一个 xxx.iml
还是刚才两个项目,我们还是先删除 .idea
文件夹和 xxx.iml(经测试,删不删结果都一样,但为了看着不那么乱,我还是删了),回到如下的目录结构。 这次我们选择 Import Project,依然选用 Maven 方式导入,然后就会发现,IDEA 又回到了启动界面。。。也就是没有导入成功,原因是我们导入的是 Maven 项目,但是 test 文件夹下没有 pom.xml,IDEA 不认识,所以导入失败。
对于单个 Maven 项目(目录下有 pom.xml),Open 和 Import Project 没什么区别。
对于一个文件下的有多个 Maven 项目想要同时导入,只能用 Open 方式,Import Project 方式打不开,但是用 Open 方式也仅仅是打开而已,IDEA 并不能识别为 Maven 项目,还要通过File -> New -> Module from Existing Sources方式再次以 Maven 方式把项目重新导入一次,才能成为 Maven 项目。从这一点上来看,IDEA 不如 Eclipse 那么方便。