如何解决SpringBoot2.1缺少Java11依赖项问题

前言

研究了几个星期问题,终于解决了。
Java 11从JDK中剔除了很多JRE的东西,但事实并非如此。
在网上仅仅只找到一点关于jdk11和spring boot的支持问题的资料:jdk11与springboot的依赖。不过仍然没解决问题,这篇文章将实际帮你解决这个springboot留下的问题。

简单解释一下为什么会出现这个问题:
jdk11从jdk中剔除了很多jre的东西,导致idea在自动下载时没有下载那部分依赖包,springboot根本无法启动。
欢迎收藏米奇罗的博客

1. 准备&注意事项

有几个注意事项:

  • 项目在IDEA运行。
  • 请勿让IDEA下载太多的Spring boot版本,放在一起容易出问题,一般存放位置在C盘的用户里面.m2文件夹就是springboot存放位置,可以将其删除,创建项目的时候,选择版本,IDEA会自动帮你下载。
  • 因为JAVA官网已经不再支持jdk11的下载了,我这儿有网盘下载jdk10的下载提取码: e548
  • jdk11官网下载

2. 解决方法

在idea中jdk11在配置springboot时所缺少的几个依赖包,在jdk10版本下下载的springboot2.1.0中就可以找到了。

第一步:删除之前IDEA下载的所有springboot版本

在C盘用户目录下.m文件夹就是下载的springboot版本,直接把文件夹删掉即可。

第二步:用IDEA新建Spring Initializr 项目

利用jdk10来下载所缺的依赖包
这个时候必须使用jdk10来创建项目(利用Spring Initializr创建)

利用Spring Initializr创建

红色位置不能错
在这里插入图片描述

在这里插入图片描述
其他默认创建即可。

第三步:直接使用jdk11创建项目

和上面步骤大致一样,jdk版本选择11即可。

第四步:创建HelloController.java测试

如图创建测试代码HelloController.java

package com.example.demo07;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestController;

/**
 * 这里的@RestController   相当于@ResponseBody + @Controller
 */
@RestController
public class HelloController {
    @RequestMapping(value = "/hello",method = RequestMethod.GET)
    public String helloSpringBoot(){
        return "Hello SpringBoot!";
    }
}

在这里插入图片描述

接下来就是见证奇迹的时刻,直接点击运行,在浏览器中输入http://localhost:8080/hello
结果如下:
结果

3. 小结&参考资料

小结

对于强迫症的我来说,一直连续弄了几周,皇天不负有心人,终于找到了解决方法,心情是无比激动啊,然后就翘了一节课。

参考资料

发布了42 篇原创文章 · 获赞 48 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/chachapaofan/article/details/84102690