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

關(guān)于maven配置項目一直提示程序包不存在以及scope的坑

 更新時間:2023年11月13日 14:59:53   作者:順便掙錢W先生  
這篇文章主要介紹了關(guān)于maven配置項目一直提示程序包不存在以及scope的坑,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

maven配置項目一直提示程序包不存在及scope的坑

今天 ,打包項目的時候,一直提示

wtf?之前一直行的呀,一直都沒問題的,今天難道這么倒霉?

于是我去檢查maven依賴,沒毛病啊,資源庫和項目都有啊

1.我檢查過,maven依賴里面是有這個包的,資源庫和項目都有


2.項目/.setting 配置也檢查過,沒有更改過。

3.這些都有檢查過,有都有添加maven 依賴的,jdk1.7,1.8試過都不行。

然后我上去查查stackoverflow,翻了很說是jdk啊,spring掃描的問題,于是我又改了一下

4.一開始我懷疑是版本問題不兼容問題,可是我都試過都升為最新版和對應的版本都不行。

5.spring 掃描,我掃描了整個項目,還是不行。

面如死灰之際,我請教了一下主管,主管一看有junit,就馬上問:“看看pom.xml 里面的scope是什么?”

我:scope?什么鬼,能吃嗎?

我一看,很正常啊,沒毛病啊。我還得意洋洋的說,我還是復制mvn資源庫的,絕對沒打錯。

主管:。。。。。。。。。。。

原來,scope是用于配置打包的jar包配置,有幾個可選參數(shù)

compile,test,system,provided等,默認是compile,所以,一般不配置scope也是可以在項目編譯打包的時候把jar包打進去的。

  • compile

默認就是compile,什么都不配置也就是意味著compile。

compile表示被依賴項目需要參與當前項目的編譯,當然后續(xù)的測試,運行周期也參與其中,是一個比較強的依賴。

打包的時候通常需要包含進去。

  • test

scope為test表示依賴項目僅僅參與測試相關(guān)的工作,包括測試代碼的編譯,執(zhí)行。

比較典型的如junit。

  • runntime

runntime表示被依賴項目無需參與項目的編譯,不過后期的測試和運行周期需要其參與。

與compile相比,跳過編譯而已,說實話在終端的項目(非開源,企業(yè)內(nèi)部系統(tǒng))中,和compile區(qū)別不是很大。

比較常見的如JSR×××的實現(xiàn),對應的API jar是compile的,具體實現(xiàn)是runtime的,compile只需要知道接口就足夠了。

oracle jdbc驅(qū)動架包就是一個很好的例子,一般scope為runntime。

另外runntime的依賴通常和optional搭配使用,optional為true。

我可以用A實現(xiàn),也可以用B實現(xiàn)。

  • provided

provided意味著打包的時候可以不用包進去,別的設(shè)施(Web Container)會提供。

事實上該依賴理論上可以參與編譯,測試,運行等周期。

相當于compile,但是在打包階段做了exclude的動作。

  • system

從參與度來說,也provided相同,不過被依賴項不會從maven倉庫抓,而是從本地文件系統(tǒng)拿,一定需要配合systemPath屬性使用

解決方式

test的框架參與編譯,但是生成的jar包不放到上線的war包里面。

<dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <version>4.9</version>  
            <scope>test</scope>  
        </dependency>   
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version> 3.2.4.RELEASE  </version>  
            <scope>provided</scope>  
        </dependency>

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java計算兩個漢字相似度的實現(xiàn)方法

    Java計算兩個漢字相似度的實現(xiàn)方法

    有時候我們希望計算兩個漢字的相似度,比如文本的 OCR 等場景,用于識別糾正,本文給大家詳細介紹了Java計算兩個漢字相似度的實現(xiàn)方法,文中有詳細的實現(xiàn)代碼,需要的朋友可以參考下
    2023-11-11
  • Java日常練習題,每天進步一點點(3)

    Java日常練習題,每天進步一點點(3)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • Spring內(nèi)置定時任務調(diào)度@Scheduled使用詳解

    Spring內(nèi)置定時任務調(diào)度@Scheduled使用詳解

    這篇文章主要介紹了Spring內(nèi)置定時任務調(diào)度@Scheduled使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • Java中局部變量和成員變量的區(qū)別詳解

    Java中局部變量和成員變量的區(qū)別詳解

    這篇文章主要介紹了Java中局部變量和成員變量的區(qū)別,本文將通過示例為大家詳細講講Java中成員變量與局部變量之間的區(qū)別,感興趣的同學可以了解一下
    2023-05-05
  • 詳解springboot讀取yml配置的幾種方式

    詳解springboot讀取yml配置的幾種方式

    這篇文章主要介紹了詳解springboot讀取yml配置的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Java使用建造者模式實現(xiàn)辦理手機套餐功能詳解

    Java使用建造者模式實現(xiàn)辦理手機套餐功能詳解

    這篇文章主要介紹了Java使用建造者模式實現(xiàn)辦理手機套餐功能,較為詳細的描述了建造者模式的概念、原理并結(jié)合實例形式分析了Java使用建造者模式實現(xiàn)的辦理手機套餐功能具體步驟與相關(guān)操作注意事項,需要的朋友可以參考下
    2018-05-05
  • Java實現(xiàn)順序棧的示例代碼

    Java實現(xiàn)順序棧的示例代碼

    線性表和棧都是我們常用的數(shù)據(jù)結(jié)構(gòu),棧可以看成一種特殊狀態(tài)的線性表。線性表分為順序表和鏈表,使用線性表中的順序表來實現(xiàn)棧時這種棧被稱為順序棧。這篇文章總結(jié)了如何使用順序表實現(xiàn)棧,需要的可以參考一下
    2022-11-11
  • 關(guān)于BigDecimal類型之間比較問題

    關(guān)于BigDecimal類型之間比較問題

    這篇文章主要介紹了關(guān)于BigDecimal類型之間比較問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Spring Boot 實例代碼之通過接口安全退出

    Spring Boot 實例代碼之通過接口安全退出

    這篇文章主要介紹了Spring Boot 實例代碼之通過接口安全退出的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • Java數(shù)據(jù)結(jié)構(gòu)之散列表詳解

    Java數(shù)據(jù)結(jié)構(gòu)之散列表詳解

    散列表(Hash table,也叫哈希表),是根據(jù)關(guān)鍵碼值(Key value)而直接進行訪問的數(shù)據(jù)結(jié)構(gòu)。本文將為大家具體介紹一下散列表的原理及其代碼實現(xiàn)
    2022-01-01

最新評論