Hi Mark, Thank you for your feedback. I will try to include your 3 reasons in my pull request. They are very clear and useful to me.
Best, John Lin Mark H. Wood <[email protected]> 於 2019年1月10日 週四 下午10:26寫道: > On Thu, Jan 10, 2019 at 09:14:45AM -0500, Mark H. Wood wrote: > > I try always to declare all direct dependencies, regardless of whether > > they are also transitive dependencies (today). > > > > One reason for this is that it improves the documentation of the > > project. Not only does it provide useful information to reporting > > tools driven by Maven, but you can learn useful things about a project > > by just reading the POM. > > > > Another reason is that I'm uncomfortable relying on the inclusion of > > direct dependencies by happenstance. An upgraded dependency, which > > *was* pulling in another direct dependency but does no more, can break > > the build in a way that is quite avoidable. > > A third reason is that it gives you a chance to specify what versions > of your dependencies are used, instead of letting other dependencies > set (and change!) those versions. Use with caution: there may be > strong reasons for those other dependencies to require the versions > that they do. > > If you have an assembly composed from multiple complex projects, you > may be able to harmonize versions of shared dependencies instead of > ending up with multiple versions of the same artifact and wondering > which one is used. > > -- > Mark H. Wood > Lead Technology Analyst > > University Library > Indiana University - Purdue University Indianapolis > 755 W. Michigan Street > Indianapolis, IN 46202 > 317-274-0749 > www.ulib.iupui.edu >
