hi,

in former eclipse times where everything got included by a build-path and
residing lib/ folder inclusions of libraries exploded. especially the
export=true option for all libraries lead to an inclusion nigthmare. 

example:
-project A got dependencies to libraries x,y,z.
-project B imported A and at the same time libraries x,y,z were visible too
(could use classes x's for compile time).

in my point of view the automatic inclusion of transitive dependencies
should be avoided and directly used libraries should be included explicitly.
this makes maintenance in view of dependencies more feasible:
-so project B must include library x explicitly to use x's features, i.e.
transitive dependencies surely must be provided at runtime but should not be
visible for compile-time.

when we switched to maven2 we enforced this through marking all dependencies
as optional. this made dependencies of project A invisible for project B so
project B was enforced to include all directly used libraries to. having
read http://maven.apache.org/pom.html and explanation for optional flag
tells me that i misused optional:
"In the shortest terms, optional  lets other projects know that, when you
use this project, you do not require this dependency in order to work
correctly." 
what i think a bit confusing is the snippet (you do not require this
dependency in order to work correctly.), why should i then include this
dependency at all, if i do not need it...?

so, what is the correct maven2 way to make transitive dependencies invisible
by importing project?

-- 
View this message in context: 
http://www.nabble.com/maven2-way-to-hide-transitive-dependencies-tp14495957s177p14495957.html
Sent from the Maven - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to