欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot3.x中Jakarta包無法引入的問題

 更新時間:2024年02月18日 09:19:03   作者:reui  
最近想將一些項目升級到springboot3.x和java17的時候,發(fā)現(xiàn)項目依賴中有Jakarta的包,但是代碼標紅提示沒有相關的類,本文就來介紹一下解決方法,感興趣的可以了解一下

最近想將一些項目升級到springboot3.x和java17的時候,發(fā)現(xiàn)項目依賴中有Jakarta的包,但是代碼標紅提示沒有相關的類,特此記錄一下排查問題和最終解決問題的思路方法

一、發(fā)現(xiàn)問題

因為之前有創(chuàng)建過 springboot3.x + java17 的項目,也運行正常。所以最近想著將一些舊項目也做一下update,但是不幸運的是,當改了一通代碼后編譯的時候,提示 "程序包jakarta.annotation不存在"。

下圖看到 Resource 注解是標紅提示沒有找到。

之前也知道Java EE要遷移到Jakarta EE,也對整個項目的相關代碼進行了修改,但是為什么還會提示有異常呢?

二、分析問題

1.依賴引入

首先考慮的肯定是對應的包是否已經(jīng)引入進來,于是查看了項目的依賴

依賴里面明明是有的,為什么還是提示沒有這個注解類呢?

于是 mvn clean、ide清緩存索引等等一波操作后,仍是無果....

2.發(fā)現(xiàn)問題點

后來看了一下項目配置,看了一下這里面的依賴,好家伙,作用域scope居然是test...

那為什么作用域會是測試階段的呢?

3.查看依賴關系

那就看看到底是從哪里引入進來的

通過依賴分析工具,查到原來是從 spring-boot-starter-test 引入進來的,而項目中這個依賴的作用域確實是 test

那問題來了,為什么之前的項目就可以的呢?不過這個 jakarta 包不應該是從測試依賴導入進來的?。?/p>

4.對比分析

于是對比了一下之前運行正常的項目,看看這個 jakarta 包是如何正常引入進來運行的。

好家伙,原來是從 spring-boot-starter-web 引入進來的,同時也看看其他的幾個 jakarta 包。

真的不看不知道,平常真沒怎么注意到這里面的依賴學問,因為自從用了 springboot 的 starter ,就真的很少關注到這些問題。

三、解決問題

要調(diào)整的這個項目里面因為是要打成jar包給其他項目使用,所以我就不想引入太多依賴包,就沒有引入 starter,只是單純的引入了 spring-web 這個包,但是這里面并沒有 jakarta 依賴,而剛好項目里面又引入了一些單元測試用的依賴,所以陰差陽錯就將 jakarta 以 test 作用域引入進來了...

所以,最終還是要引入 spring-boot-starter-web,不過我最后還是沒妥協(xié),只引入所需的依賴包

        <dependency>
            <groupId>jakarta.annotation</groupId>
            <artifactId>jakarta.annotation-api</artifactId>
        </dependency>

四、后續(xù)

通過查閱一些資料發(fā)現(xiàn),原來 Java 17 已經(jīng)不包括 jarkarta 模塊...

在 Java 17 中,Jakarta EE 被移除,取而代之的是引入了 Java EE 的一部分作為擴展模塊。要在 Java 17 中使用 Java EE 的功能,你需要在項目的 pom.xml 文件中添加相應的依賴

到此這篇關于springboot3.x中Jakarta包無法引入的問題的文章就介紹到這了,更多相關springboot Jakarta包無法引入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java字符串原理分析之String是否可變

    Java字符串原理分析之String是否可變

    當我們在求職時,面試官很喜歡問我們關于String的一些原理性知識,比如String的不可變性、字符串的內(nèi)存分配等,為了讓大家更好地應對面試,并理解String的底層設計,接下來會給大家聊聊String的一些原理,比如String為什么具有不可變性,需要的朋友可以參考下
    2023-05-05
  • java使用ajax完成上傳文件

    java使用ajax完成上傳文件

    這篇文章主要為大家詳細介紹了java使用ajax完成上傳文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 詳解SpringBoot靜態(tài)方法獲取bean的三種方式

    詳解SpringBoot靜態(tài)方法獲取bean的三種方式

    本文主要介紹了詳解SpringBoot靜態(tài)方法獲取bean的三種方式,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Java實現(xiàn)在線語音識別

    Java實現(xiàn)在線語音識別

    這篇文章主要為大家詳細介紹了Java實現(xiàn)在線語音識別功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • javaweb實現(xiàn)文件上傳功能

    javaweb實現(xiàn)文件上傳功能

    這篇文章主要為大家詳細介紹了javaweb實現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • SpringBoot集成ENC對配置文件進行加密的流程步驟

    SpringBoot集成ENC對配置文件進行加密的流程步驟

    Spring Boot Encoder,即Spring Boot加密模塊,它提供了一種簡單的方式來集成安全編碼功能到Spring Boot應用程序中,它是Spring Security框架的一部分,旨在幫助開發(fā)者輕松地處理數(shù)據(jù)加密,本文給大家介紹了SpringBoot集成ENC對配置文件進行加密的流程步驟
    2024-12-12
  • Mybatis中typeAliases標簽和package標簽使用

    Mybatis中typeAliases標簽和package標簽使用

    這篇文章主要介紹了Mybatis中typeAliases標簽和package標簽使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 在Java中實現(xiàn)線程安全的單例模式的常見方式

    在Java中實現(xiàn)線程安全的單例模式的常見方式

    單例模式是一種常用的軟件設計模式,它確保一個類只有一個實例,并提供一個全局訪問點,在多線程環(huán)境下,確保單例模式的線程安全性是非常重要的,因為多個線程可能會同時嘗試創(chuàng)建實例,導致實例不唯一的問題,本文介紹了在Java中實現(xiàn)線程安全的單例模式有幾種常見的方式
    2024-09-09
  • springboot-2.3.x最新版源碼閱讀環(huán)境搭建(基于gradle構(gòu)建)

    springboot-2.3.x最新版源碼閱讀環(huán)境搭建(基于gradle構(gòu)建)

    這篇文章主要介紹了springboot-2.3.x最新版源碼閱讀環(huán)境搭建(基于gradle構(gòu)建),需要的朋友可以參考下
    2020-08-08
  • java實現(xiàn)發(fā)送郵件功能

    java實現(xiàn)發(fā)送郵件功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)發(fā)送郵件功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02

最新評論