Wednesday, January 6, 2010

Section 12.9. Becoming a Maven Maven








12.9. Becoming a Maven Maven


Maven will save you time. It will, I promise. If you adopt
Maven with the right approach, you won't have to worry about
maintaining someone's idea of a clever (read: over-engineered) procedural build system.
But, as with any technology, Maven has some remaining issues: the
documentation is still a bit rough, and there are plug-ins (like the
Hibernate3 plug-in) which are not yet fully documented.


NOTE

If the Mojo Hibernate3 plug-in documentation is frustrating you,
blame Tim. He's working with the Mojo maintainer to improve that
plug-in right now. Hopefully, by the time you read this, that plug-in
will be fully documented. If not, feel free to send him hate
mail.

No technology is easy to introduce to a team, especially not one
that makes assumptions about things like build structure or database
design. I've seen teams reject Hibernate on the grounds that Hibernate
collection mappings would violate the standards of a database
administrator. I've seen organizations reject Hibernate because it doesn't
create SQL that is up to the standards of the development
team. I've dealt with very abstract criticism of Hibernate that sounded
like it came from a modern art critic ("Relational databases are an
outmoded construct"). Maven is no stranger to similar irrational
objections. There are those among us who, for whatever reason, don't want
to use time-saving technologies that might require them to adopt a
standard. If you decide to adopt Maven as a build tool, make sure that
everyone is on board with the idea of a declarative build before starting
a migration to it.


In the next chapter I'm going to introduce another technology that
provides a set of standards and conventions that will save you even more
time. You've just started to see how Maven can take care of the build
while you sit back and relax. Chapter 13 will show you how the Spring Framework takes
most of the coding out of using Hibernate. There's a danger to all of this
time saving technology—you are going to run out of tedious things to do
while procrastinating. With Maven making the build effortless and Spring
making Hibernate effortless, there's a good chance your boss might find
out just how easy your job is and start piling on the work. If you are
worried about running out of tedious things to do like managing builds or
writing cookie-cutter code, I'd suggest ignoring both this chapter and the
next. On the other hand, you could adopt Maven and Spring and use the
extra time to take more breaks, go home early, or just read more online
books at Safari.









No comments: