文章目录
前言
研究了几个星期问题,终于解决了。
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创建)
红色位置不能错
其他默认创建即可。
第三步:直接使用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. 小结&参考资料
小结
对于强迫症的我来说,一直连续弄了几周,皇天不负有心人,终于找到了解决方法,心情是无比激动啊,然后就翘了一节课。