Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Book For Maven

 
Jigar Naik
Ranch Hand
Posts: 762
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I want to learn Maven, Can anybody suggest me any good book for beginner. I don't know any building tools like ant or maven. I am completely new to Maven.

Thanks
 
Hussein Baghdadi
clojure forum advocate
Bartender
Posts: 3479
Clojure Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Maven: The Complete Reference
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34973
379
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I liked Better Builds with Maven significantly better than the Sonatype book (complete guide) linked to above. "Better Builds with Maven" covers more real world scenarios and more non trivial scenarios. Both books are available as free PDFs so you can try both for yourself and see which you like better.

One thing I don't like about Maven is the "it just works" mentality. That's awesome until "it doesn't work." The Sonatype book felt like a mix of documentation, minor examples and "it just works." Where "Better Builds with Maven" reads more like a book.
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34973
379
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Here's the free PDF Sonatype puts out of the complete reference.
 
Jigar Naik
Ranch Hand
Posts: 762
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks a lot Jeanne & John...
 
Hussein Baghdadi
clojure forum advocate
Bartender
Posts: 3479
Clojure Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jeanne,
What is your favorite Java build tool? because seriously, I don't like any.
The community should do a better job in this area IMHO.
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34973
379
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
John Todd wrote:Jeanne,
What is your favorite Java build tool? because seriously, I don't like any.
The community should do a better job in this area IMHO.

I don't have one either. I like gradle, but I've only played with it on something trivial (and not a real prject.) Which means I haven't hit any of the annoying real world scenarios. Ant and Maven are both perfectly fine for a simple project without any plugins.

I've used Ant for a lot longer with Maven. And I've written many plugins for Ant. For Maven I wrote one trivial plugin and am currently struggling with my first real/complex one. I find the documentation/resources for Ant to be better. Maybe because it is older?

Maven is great when it works. I like the dependency management/transitive dependencies. I like how you have a hierarchy of POMs. It's still maddening when something doesn't work. Or when you have to figure out what an (undocumented) convention is that Maven is relying on. Hopefully as I gain more experience with Maven I will have less of these moments. However, that's not a strong selling point.
 
Peter Johnson
author
Bartender
Posts: 5856
7
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have used both Ant and Maven in very complex projects. Currently I am making Maven do wonderful things that it was not built for, but for which it is very well suited.

Maven is very much a "black box". If you decide to go with Maven it would behoove you to understand it fully. And the only way to do that is to write some plugins that actually do some work. And writing a plugin that handles a new packaging type is highly recommended - it literally opens up your eyes as to what Maven is doing. And by the way, Maven's handling of dependencies, and its use of repositories to maintain JAR files is its most worthwhile feature.

Ant, on the other hand is pretty much like "make*" for Java. You can get Ant to do just about anything and even use it as a general scripting language.

I recommend that you learn both. Why? Because many open source projects use one of the other for their builds.

* - make is a utility used by C/C++ developers to perform their builds. I have done wild and crazy things with "make" ages ago and have make Ant do similar things.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic