- Maven will never tell you which phases or goals are available in the pom, you have to guess or check the on-line documentation
- Maven by default uses text files to dump the test execution results, if you want to see what’s happening on the console you have to call it with -Dsurefire.useFile=false
- Maven can skip the executions of the tests (sometimes might be useful!) call it with -Dmaven.test.skip=true
- Maven knows what inheritance is (and therefore claims that it’s object oriented… grrr…) so if you can’t find where some property is defined have a look up on the parent
- Maven is based on XML but you won’t write as much XML as with Ant
- Maven can create Eclipse project files and even download the sources for you (mvn eclipse:eclipse -DdownloadSources=true)
- Maven downloads stuff from the internet (#1 failure reason for 99% Maven presentations) but can be run in offline mode (if you had a sucessfull install previously), try mvn -o
- Maven uses repositories, but since not all the libs in the world are in repositories you should setup a local repository (Archiva works well)
- Maven uses repositories, but since you don’t want to hog all your company bandwith you should setup a local repository
- Maven goes great with stuff like Hudson, Sonar
- Maven build profiles are really cool
- Maven is not silver bullet but I’ll never go back to Ant
find me on
-
-
Tags
agile alt.net antiagile BDD bile build automation build automation C# cool Craftsmanship DDD financial flex Google J2ME Java javascript kaizen kanban Lean Mac maven OOD pomodoro process Project Management Project Management Rage rest Ruby Scrum Selenium servicemix Smile Speech spring testing That's Cool! That's Cool! ThoughtWorks timeboxing tweets web Web 2.0 XP-


















One Comment
There’s another way to create a repository local to the project: create a “repository module” in the svn tree.
See as example: http://jira.codehaus.org/browse/MNG-2896
(the bug is probably related to the fact that file protocol should be specified without double slash file:${basedir})
I’ll post an howto on my blog before or later
, adding the repository module is not sufficient (you have to declare that the repository module is dependent to all the library in the repository, so that they all will be installed when the repository module is built).