Maven

acme on 2004-07-14T08:54:35

I really wonder why there are so many Apache Java projects these days. Actually, what worries me more is that I don't understand what they do at all. Take, for example, Maven, which went 1.0 recently. Maven is project management and project comprehension tool. But what does it do?


Good question...

rooneg on 2004-07-14T12:22:28

Among other things it seems to let you specify your dependencies on other java projects so that it can go out and download the appropriate jar files for you and set them up in your CLASSPATH.

This kind of thing seems to be thrown in with a general ant-type build system, stuff that apparently generates web pages, and a bazillion other things.

It's not my cup of tea (I'm not a java person really), but the 'download all the jars for you' bit is kind of neat when you see it in action for a big project like Geronimo.

Re:Good question...

acme on 2004-07-14T13:05:49

http://geronimo.apache.org/: "You don't have permission to access /index.html on this server."

Re:Good question...

rooneg on 2004-07-14T13:14:48

That's odd, it seems to work fine for me...

Re:Good question...

acme on 2004-07-14T14:03:09

Must have been a temporary problem.

Maven is useful, but...

lachoy on 2004-07-14T13:23:00

...there's just so much there it's overwhelming. We currently use it to help minimize Ant cruft because with, after some initial configuration, a fairly short XML file Maven will do quite a bit for you, allowing you to declare separate pieces of your application (which can be built as separate JAR/WAR/EAR files) and the dependencies each has. It also has hooks to run all your tests, generate a ton of different types of reports (code coverage, style checking, ...), and generate a functional website for your project. It does impose some restrictions on you (breaking up your application into separate projects because project == JAR) but IMO these have other benefits that make them worthwhile.

The main problem is that Maven ignores the "make easy things easy" that attract a lot of people to projects. I had a really hard time getting started with Maven because as you noted there's lots of abstract talk about the framework but not enough about what you can do with it. (Although this was about a year ago and the docs may have improved since.) Articles from OnJava and DeveloperWorks helped a bit. But as with a lot of frameworks there 's just too much internal docs and not enough end user docs.