Maven實(shí)操(1) 之 Maven常見jar包沖突問題

Maven常見jar包沖突問題

這個(gè)問題不是很大,但是一旦報(bào)錯(cuò),很難找出原因,所以在此總結(jié)一下。

主要是jsp-api:2.1.3-b06.jar這個(gè)jar包,他的依賴坐標(biāo)如下

<dependency>

    <groupId>javax.servlet.jsp</groupId>

    <artifactId>jsp-api</artifactId>

    <version>2.1.3-b06</version>

    <scope>compile</scope>

</dependency>

上邊的引用的是jsp-api:2.1.3-b06.jar,這個(gè)包還依賴著javax.servlet:3.0-b70.jar和el-api:2.1.2-b05.jar兩個(gè)jar包。

jsp-api:2.1.3-b06.jar的依賴

因?yàn)樗线叾x依賴范圍是compile,所以jsp-api:2.1.3-b06.jar以及他所依賴的兩個(gè)jar包,在運(yùn)行的時(shí)候就會(huì)被拿到部署的目錄里邊。

那Maven本身就集成了tomcat插件,在tomcat中本身也有這三個(gè)jar包。所以在部署的時(shí)候,這三個(gè)jar包就重復(fù)了,造成了jar包沖突。

因?yàn)橐蕾嚪秶莄ompile,他在編譯,測(cè)試,部署運(yùn)行的時(shí)候都參與,所以會(huì)造成jar包的沖突,那我們就把他的依賴范圍改成provided,就可以了,只在編譯和運(yùn)行的時(shí)候參與,部署運(yùn)行的時(shí)候不參與,就不會(huì)造成jar包的沖突問題了。

jar包scope依賴范圍
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第1章 Maven 介紹 什么是 Maven 什么是 Maven Maven 的正確發(fā)音是[?mev?n],而不是...
    強(qiáng)某某閱讀 2,544評(píng)論 0 25
  • Jar包沖突是老生常談的問題,幾乎每一個(gè)Java程序猿都不可避免地遇到過,并且也都能想到通常的原因一般是同一個(gè)Ja...
    sherlockyb閱讀 37,813評(píng)論 1 65
  • 在學(xué)習(xí)Spring框架的過程中,要導(dǎo)入很多jar包,不但非常麻煩,初學(xué)時(shí)還很容易忘記要用哪些jar包,尤其是有依賴...
    Jason_M_Ho閱讀 4,818評(píng)論 0 1
  • maven 一、maven基礎(chǔ) 1. maven的核心 依賴管理:對(duì)jar包管理的過程 項(xiàng)目構(gòu)建:項(xiàng)目在編碼完成后...
    Ernest_Chou閱讀 1,913評(píng)論 1 2
  • 這可能根本算不上一個(gè)故事,而我也只是想平平靜靜地把它記錄下來。我覺得對(duì)于過往的碎片,每個(gè)人都存在著記憶,有些記憶碎...
    一枚文案閱讀 465評(píng)論 0 7

友情鏈接更多精彩內(nèi)容