开发者

What problem(s) does Maven solve?

开发者 https://www.devze.com 2023-01-20 13:07 出处:网络
What problem(s) does Apache Maven solve? Am I correct in thinking that it basically solves (prevents even) versioning nightmares on external third party .DLLs. Any examples of how it would help in thi

What problem(s) does Apache Maven solve? Am I correct in thinking that it basically solves (prevents even) versioning nightmares on external third party .DLLs. Any examples of how it would help in this? DOes it also help in 开发者_运维技巧any way, with inter-project (or package in Java) dependencies?

Finally, is it basically a build automation tool (like the popular Ant) with versioning functionality added?

Thanks


Yes, Maven solves (at least try) versioning problems but also all dependency situation you could have; such as B needs C and A needs B, therefore C will be downloaded and used in A.

But this is for projects, you can have dependency to a project you can't specify a particular package or a particular class.

And it's a build tool like ant, with a lot of plugins to handle versionning, doc generation, etc.

I can't detail every feature of maven because it would be more or less a copy/paste from the maven web site.

I just suggest you to try it and see for yourself. Like in every technology there are fanboys, haters; and like in every technology, the best way to have a real opinion is to actually try it.


Resources :

  • maven.apache.org - What is Maven?
  • maven.apache.org - Maven features


A lot of people think of maven in terms of dependency resolution, which admittedly is a big feature. But the most prominent purpose of maven IMHO is to provide a model for building a project that consists of a fixed build life-cycle where actions can be hooked into predefined phases. Thus providing a structure that simplifies the build and makes the build descriptor more readable. You immediately know by looking at the pom file what custom actions are hooked into the build and at what phases, whether tests are being executed or not, etc. building a war or a jar is similar for different projects and you can predict where to find information, this is as opposed to the 'free-form' style provided by ant where targets can be written and organized in a lot of different ways.

0

精彩评论

暂无评论...
验证码 换一张
取 消