I’m starting to get into using Maven (specifically Maven 2) as a java build tool. It does a truly wonderful job at managing the dependency sets for larger projects, but it has an incredible drawback – it is incredibly unhelpful about telling you how to use it.
When you download, install, and run maven for the first time, it really gives you no useful messaging. It tells you that you need to tell it about goals, tasks, and so forth. Issuing “mvn –help” doesn’t lead into any help files, and if you’re looking for something quick to get started – well, you’re screwed.
Mostly. Fortunately, there is some decent documentation out there. The first “quick and dirty” doc is an article at OReillyNet entitled Maven 2.0: Compile, Test, Run, Deploy, and More by Chris Hardin. It will get you in the door and functioning.
The second, and far more detailed, is the book Better Builds with Maven which is basically being published by mergere – who appear to specialize in helping people “do maven”.
Thank goodness for these resources, or the world of people wanting to use maven would be screwed.
3 thoughts on “Getting started with Maven 2”
What about http://maven.apache.org/guides/getting-started/index.html
I found the guides on Apache difficult to navigate and broken down into snippet so much that I couldn’t reference between them and get a sense of how to move forward very effectively, even though they are definitely the “source”. The fact that Maven itself doesn’t give you much guidance in terms of what goals/plugins are available and assumes a relatively detailed knowledge of the it’s build cycle is really pretty daunting.
It’s also easy to run into documentation that is appropriate to maven 1 and get confused between the two.
Shoot – just figuring out what additional archetypes exist seemed to be more sluething than many would be very interested in attacking.
I don’t really like Maven. It imposes a lot of structure on your project. I prefer using Ivy (http://www.jayasoft.org/ivy) with Ant. It is compatible with Maven repositories but you can be much more selective about integrating it into your build system.
Comments are closed.