1. 程式人生 > >如何解決SpringBoot2.1缺少Java11依賴項問題

如何解決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

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. 小結&參考資料

小結

對於強迫症的我來說,一直連續弄了幾周,皇天不負有心人,終於找到了解決方法,心情是無比激動啊,然後就翹了一節課。

參考資料