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
Post a Comment