java - Provided dependency in library, using previous version in project -


if library declares provided dependency on eg servlet-api using v3.0.1; possible users use version 2.5 library, used on third party web application?

in other words:

mylib (srv 3.0.1)  <-- some_framework(srv 2.5)  <--  user_webapp (tomcat 6 or 7) 

moreover: v2.5 declared javax.servlet:servlet-api:2.5 , version v3.0.1 declared javax.servlet:javax.servlet-api:3.0.1, there difference.

would problem some_framework specify different servlet-api dependency (eg 2.5) defined provided in mylib (eg 3.0)? assume since scope provided (and available in compile time), dependency tools (mvn, gradle...) not download in some_framework, , have (and allowed) declare dependency manually.

(yeah, aware of differences between 3.0 , 2.5, , not question. assume compiles correctly, etc. interested how maven compile some_framework, on dependency: 2.5 or 3?).

let me answer own question, [so] never helped tricky ones:)

i created simple maven project (that act some_framework). depends on jodd-servlet (mylib), has servlets 3.0.1 listed provided dependency. when run

mvn dependency:resolve 

i not see servlets in list of dependencies. now, if current project (i.e. some_framework) lists servlets v2.5 dependency; , if run same command again, see dependency on 2.5.

therefore, may provided dependencies not transparent or exported.


Comments

Popular posts from this blog

php - mySql Join with 4 tables -

css - Text drops down with smaller window -

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -