近期我把我的macOS 系统全新安装到了 Big Sur 11.0.1版本的,环境要全新搭建了。塔环境的过程顺便记录下来吧,也许对一些新手能提供一些帮助。谁不是从这一点点过来的呢?
IDE 我个人还是比较喜欢Intellj IDEA 的。 下载:https://www.jetbrains.com/idea/
开始之前,默认你已经配置好jdk环境并且能够用idea写个简单的hello world了。 jdk 版本至少 jdk8 及以上版本。 如果有疑问可以参考:
- 《2020macOS Big Sur配置Java开发环境之jdk安装》 https://blog.csdn.net/lxyoucan/article/details/111120215
- 《2020入门教程macOS 使用Intellj IDEA 写一个Java的hello world》 https://blog.csdn.net/lxyoucan/article/details/111126283
创建好后,第一次打开会比较慢,如果第一次创建spring boot的项目则会更慢,idea 在自动的从maven下载项目依赖的jar。默认的源在国内是很慢的。通过漫长的等待,是可以加载完成的。那么如何解决这种慢的问题呢?切换淘宝的源吧!
如果你等待了好久也不行,则直接看下一节,切换aliyun的源。
maven 切换至aliyun的源(一劳永逸)因为IDEA自带了maven我就不单独自己下载maven配置上去了,暂时使用自带的maven 大部分时间是够我用的。 在“访达” 鼠标右键=》 前往文件夹…
~/.m2
这里是IDEA默认的配置目录。从IDEA的maven设置中就可以看出来了。
这个文件可以从maven的安装目录中复制出来,或者直接新建一个XML文件,用我下面的代码。
/Users/itkey/.m2/repository
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
基中
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
这部分代码就是用于配置aliyun的源的,可以自行的加到自己的配置文件中。 目录结构如下: 注意 localRepository地方修改成自己的路径,因为用户名不一样,路径就不同。
配置完成,保存以后,重新启动idea。 点击状态以后,这里查看下载状态:
发现下载的地址已经是从aliyun了,速度提升了好多倍。 我这电脑切换到aliyun后,大概不到1分钟时间就完成了依赖的下载。这个主要是第一次创建项目下载慢,以后就非常快了。
maven资源下载完成后,右上角区域会如下显示,点击绿色三角图标就可以运行项目啦。
http://localhost:8080/ 看到这个Error不用怕,这说明你已经成功啦。此时你已经完成了spring boot 项目的搭建了。 因为我们没有任何的Controller,所以会显示404错误。
有人看到上面的 Whitelabel Error Page 就很不舒服,我当初就是这样想的。 那我们就写个简单的helloworld 吧。 创建新的包 controller
新建类 DemoController 完整代码如下:
package com.itkey.ocefi.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoController {
@GetMapping("/")
public String index(){
return "恭喜你!spring boot已经正常运行啦!";
}
}
重启一下服务,在次访问http://localhost:8080/。 就会显示如下的界面:
细心的小伙伴可能已经发现了,我这个空的spring boot项目竟然启动了 16秒,太跨张了,这不正常。 后来经过我的配置,启动时间缩短到了 1.2秒。 这个问题不是每个人都能遇到的,我之前就没遇到过。如果你也遇到启动慢的问题,可以参考:
- 《2020 升级macOS Big Sur后spring boot 项目启动缓慢》 https://blog.csdn.net/lxyoucan/article/details/111138711
看似挺繁琐,做过一次就会觉得很简单了。这是我平时的个人使用习惯。基本上是自己摸索的。是不是最佳方案我也不清楚。仅供参考!