I need some help understanding how the dependency resolution works and why. 
I have read the documentation on the various scopes and want to know what
the best practice is for listing project dependencies.

I am working with a project that uses a number of external libraries. 
However, the tech-lead on this project doesn't want to list the "common"
libraries as dependencies in his project.  An example is log4j.  His
argument is that log4j is included in several of the other libraries he is
using.  From a build perspective I would expect that if the code imports an
external class that it should be listed as a direct dependency.  This would
lead me to think that the compile classpath should only have the direct
dependencies listed and not the transitive dependencies (this would fail a
build and force all of the dependencies to be claimed).  As it stands right
now if log4j is in the transitive dependency list everything compiles and
the dependency report makes it look like we don't directly use this library.

Is there a way to force this, or is there some other tool/report that would
look at the code and show the gaps?

Is this valid or am I missing something here?

Thank you in advance for any insights to help my understanding...

Jim
-- 
View this message in context: 
http://www.nabble.com/Dependency-scope-for-compile----what-should-be-included--tp16300807s177p16300807.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