Maven常見jar包沖突問題
這個問題不是很大创泄,但是一旦報錯,很難找出原因,所以在此總結(jié)一下抑淫。
主要是jsp-api:2.1.3-b06.jar這個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姥闪,這個包還依賴著javax.servlet:3.0-b70.jar和el-api:2.1.2-b05.jar兩個jar包始苇。
因為他上邊定義依賴范圍是compile,所以jsp-api:2.1.3-b06.jar以及他所依賴的兩個jar包筐喳,在運行的時候就會被拿到部署的目錄里邊催式。
那Maven本身就集成了tomcat插件,在tomcat中本身也有這三個jar包避归。所以在部署的時候荣月,這三個jar包就重復(fù)了,造成了jar包沖突梳毙。
因為依賴范圍是compile哺窄,他在編譯,測試账锹,部署運行的時候都參與萌业,所以會造成jar包的沖突,那我們就把他的依賴范圍改成provided奸柬,就可以了生年,只在編譯和運行的時候參與,部署運行的時候不參與鸟缕,就不會造成jar包的沖突問題了晶框。