I wish people were better at explaining things.
Whenever I want to know how something works, I don't need to know
philosophy behind it and the 101 class, and shit. I need to know how it
works within the context of what I am trying to get done RIGHT NOW.
I realize, this is a backwards way of learning. Like starting with the
last chapter of a book, and then reading other chapters as you need to
know more of the story, but when you are on a tight deadline, I don't
have time to read the whole book. Just give me the information I need to
get this deliverable out. And given that there is an existing
architecture and I'm just adding to it, I only need to know what I NEED
I have found this to be true of Spring, Maven, and Wicket thusfar.
So, this is my quick explanation guide for the guy who just needs to get
shit done RIGHT NOW.
Dependency management. Dependencies being all the things that go
in your import statements at the top of your Java classes. Instead of
adding them to your build path through Eclipse, you do it through a
Maven POM file. Somewhere in there, are versions. They will either look
like "1.0.4" or "1.0.4-SNAPSHOT". The former is basically a release. The
latter is something that you or your team are currently working on.
If you want to reference something in your workspace, make sure that the
version of the project and the dependency in the other project match.
That's it. Save the pom files, right click on the project, Maven->Update
Dependencies and Maven->Update Project Configuration. The little red X's
should go away.
Likewise, if you want to add a new package to your file, say, GSON. Just
add the dependency, and when you update your project configuration,
Maven will travel upstream (kind of like DNS) to look for the project
(defined in the "artifactId") and will attempt to download it into your
That's really all you need to know. That and the mvn clean install
command. You don't need to know about all the lifecycles and shit. Not
until you NEED to know.
See, I'm preaching efficiency, not proficiency. I'm preaching, "let's
get this project done so we can go drink at 5 PM." Ya hear?
Spring and Wicket are a little tougher to explain. I'll save that for