上一篇中写道,由于使用手机网络受限的原因,期间尝试过去下载官网上的SpringBoot项目模板。但是,同样的,被手机网络给挡住了,手机网由于访问不了start.spring.io网页,所以没法下载。然后我就远程控制了一台有有线网的电脑,下载了一个SpringBoot项目。但是,拿过来之后,也同样因为手机网络原因,虽然使用IDE导入了项目模板,但是依赖依然下载不全。总之,由于网络原因,路程很艰辛。
下面的内容,是在非手机网的情况下操作的。
一、下载SpringBoot初始项目
1)如下图所示,在不受限的网络环境下,进入SpringBoot官网https://start.spring.io/,准备下载SpringBoot初始项目。
2)如果下载不需要任何依赖的模板,则选择正确的Java版本之后,直接点击相仿的GENERATE就能下载项目压缩文件了。
3)如果要添加依赖的话,点击页面右上角的ADD DEPENDENCIES,即可弹出一个依赖选项窗口。我们和之前一样,如果要开发一个Web项目,则准备选上Web、MyBatis和MySQL。
如图所示,选好依赖后,点击GENERATE即可生成项目压缩文件。
二、使用IntelliJ IDEA导入项目模板
1)首页Open方法直接打开项目
a)关闭现有程序
一般启动IDEA之后,会自动打开上一次的程序。
此时需要点击File>Close Project来关闭当前项目。
这时,就能回到IDEA初始界面。下一步,准备点击Open选项。
b)解压官方文件并选择需要打开的项目
先将官网下来的springbootinit文件解压好。
接着,IDEA首页中点击Open之后,可以看到在我放置IDEA项目的文件夹Files IDEA中,由于springbootinit是刚从官网下载的,因此图标和其他已有项目不太一样。
点击OK之后,项目成功打开并直接被创建好。
c)项目目录有些问题
将资源管理器展开之后,发现目录上有点不对劲。首先是有两个springbootinit路径,其次是整个src的目录结构和上一篇中我给大家展示的目录不太一样,这种原始目录结构没有串联的横向包结构。另外还有重要的一点,就是SpringbootinitApplication这个类,似乎暂时还不是SpringBoot启动类,因为没有在右侧的.java文件内容中看到启动按钮。
首先,看下两个springbootinit目录的原因。如下图所示,打开系统资源管理器,发现,原来是解压springbootinit压缩文件的时候,就已经多创建了一个springbootinit父文件夹了(图中的.idea在刚解压的时候是没有的,由于已经经过IDEA创建项目了,所以多出了.idea配置文件),因此,Open此文件夹的时候,在IDEA项目中也会多出一个springbootinit路径。
d)去除多余的文件夹
如果要改变这种情况的话,有两种方法,第一种是在一开始解压zip文件之后,直接在系统资源管理器中将多余的springbootinit文件夹删除一个,或是在解压的时候将默认的解压路径D:\File IDEA\springbootinit改为D:\Files IDEA\即可。
总之,系统资源管理器中的目录结构需要如下图所示。即,springbootinit文件夹下面直接就是项目内容,不能再有一个springbootinit文件夹。
如此一来,重新Open项目之后,项目目录中就只有一个springbootinit了。但横向目录结构和没有启动标志的.java启动文件的问题还没有解决。
e)将项目改为Maven项目。
这时,我们再回到之前有两个springbootinit目录的项目。
为什么目录结构和.java启动文件都不对呢,这是因为,当前Open进来的项目,暂时还不是Maven项目。因此,我们需要将其改为Maven项目。
如下图所示,需要在项目中的pom.xml文件上方右键,然后点击Add as Maven Project,即可将当前项目添加为Maven项目。
将项目加为Maven项目之后,多余的springbootinit路径已经自动消失,不过其实系统资源管理器中的路径并没有被改变,仍旧是两个springbootinit目录,不过这些其实都不重要。另外,在SpringbootinitApplication启动文件中已经有所变化。首先,文件内容左侧的行标中已经出现了SpringBoot框架的一些标志,同时文件上方提示没有配置SDK,此时我们需要点击一下Setup SDK。
点击Setup SDK之后,选择与本地相对应的JDK(我这里是JDK1.8),并点击确定。
配置好JDK之后,发现.java启动文件中已经出现了SpringBoot项目的启动按钮。
f)改变包结构为紧凑中间包型
还有一个问题没有解决,就是包结构的问题,暂时还没有将其改为简单的横向包结构。
其实这个问题很简单,只需要点击下项目资源管理器中右上方的设置按钮,并准备勾选Compact Middle Packages紧凑型中间包选项就行。
如下图所示,勾选Compact Middle Packages之后,包结构已经变为紧凑的横向型了。
2)已有项目下使用Open方法打开新项目
此时,我们正在别的项目下,然后点击File>Open。
就会出现和首页中一样的打开项目列表,选择我们需要打开的springbootinit项目即可。
接着会问你在哪打开新的项目,当前窗口还是新窗口。若选择当前窗口,则当前窗口中的原项目会被关闭,以显示新打开的项目;若选择在新窗口中打开新项目,则新项目将会在另一个窗口中出现,且原项目依然在原窗口中存在。
此时,我们选择了在新窗口中打开springbootinit项目。如下图所示,项目已经被打开。由于之前我们已经打开过一次了,所以将Maven和JDK已经配置好了,直接打开就是一个配置完整的项目。如果是在项目内第一次打开springbootinit文件夹,则也会经历和前面一样需要添加为Maven项目并配置JDK的过程。
3)首页Import方法直接导入项目
a)返回首页
准备点击Import。
b)选择springbootinit文件夹
为了保证不同项目导入方法的统一性,我已经将刚才使用Open方法打开的项目Remove并删除了原项目文件。因此,下面图中看到的是新解压的文件夹。
c)选择Import project from external model
选择Import project from external model从外部模型导入项目的选项,并选择Maven,然后点击确定。
但是,点击Finish后,却看到导入之后,界面中什么都没有。
而且,点开了左侧的项目资源管理器,也是什么都没有。
d)重新选择springbootinit子文件夹
经过我的试探之后,发现应该在选择文件夹的时候,选择springbootinit子文件夹。
继续选择Import project from external model下的Maven形式之后,点击Finish。
此时,在停顿几下之后,会自动形成正确的Maven项目结构。
e)正确构建之后可以从springbootinit父文件下Import此项目
当我们从springbootinit子文件夹成功导入项目之后,再次导入项目的时候,就可以从父文件夹成功Import了,不会出现项目资源管理器为空的现象。
如下图所示,准备导入springbootinit父文件夹。
下图中已经出现了资源管理器目录,但和之前Open方法中一样,需要将右键pom.xml文件将项目添加为Maven项目,并配置SDK。
完成上述需要的操作之后,下图中出现正确的SpringBoot Maven项目。
4)已有项目下使用Import方法导入新项目
a)选择File>New>Project from Existing Sources...
如下图所示,我们已经处于别的项目下,这时需要点击File>New>Project from Existing Sources...来导入新的项目。
b)选择springbootinit文件夹
c)选择Import project from external model
d)选择在新窗口中打开新项目
e)父文件夹导入仍需重新配置
如下图所示,由于选择文件夹的时候,我们选择了springbootinit父文件夹,所以仍需重新添加为Maven项目,并配置SDK。
但如果是导入了子文件夹,则已经是完整的SpringBoot Maven项目。
三、使用Eclipse导入项目模板
1)选择File>Import...
2)下拉或搜索Maven,并选择Existing Maven Projects
3)选择springbootinit文件夹
并点击Finish。
4)资源管理器结构导入正确
如下图所示,上一步点击Finish之后,界面下方有个导入Maven程序的进度条,进度条很快就会结束,一个SpringBoot的Maven程序就顺利地被导入成功了。
四、总结
此篇我们分别介绍了IntelliJ IDEA和Eclipse对从官网下载的SpringBoot模板的导入过程。其中,IDEA有两种方法,分别是Open和Import,区别从首页或是项目内执行这两种操作又分为四种,其中,只有Import方法导入springbootinit子文件夹的时候,可以直接成功地导入Maven项目,而其他方法都需要后续的改为Maven项目和配置JDK。相比而言,Eclipse就简单多了,直接一种方式,导入现有Maven项目就能直接成功。
所以,大家是喜欢用IDEA还是Eclipse呢。