Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does it mean to "Mavenize" a project?

I've recently been asked to mavenize an existing project, and I don't know exactly what that means. On the maven website it outlines how to create a maven project from scratch, but what if I've already got a substantial amount of code?

I'm comfortable working on the command line or in Eclipse/Netbeans. I know there are a lot of plugins for the 2 IDE's that make this kind of thing easier but I don't know where to start.

Is there anything more to it than just writing a pom file that has all the dependencies in it?

like image 580
stinkycheeseman Avatar asked Jul 30 '10 15:07

stinkycheeseman


2 Answers

To "Mavenize" simply means to write a POM (and possibly move code around) so that it builds in Maven.

Often the easiest way to do this is to restructure your code slightly so it matches Maven conventions (e.g. move "sources" to "src/main/java", and explicitly split up separate modules). You can ignore the conventions, and tell Maven how you're storing your classes etc., but in general a small bit of pain up front to make most of Maven then work "out of the box" is worth investing in.

Chances are the vast majority of your Ant (or similar) file is boilerplate, which was the idea behind Maven in the first place. However, there may be some bespoke stuff in there (e.g. test classes that start with "TestIntegration" should only be run on nightly builds) which you'll need to reproduce in Maven.

But yeah, in general it means to take the existing functionality of a build, and reproduce that same functionality using Maven.

like image 75
Andrzej Doyle Avatar answered Nov 07 '22 02:11

Andrzej Doyle


It means to reorganise the projects code and resources to conform to the maven model. This use of 'convention over configuration' allows the standard maven tools to operate on your codebase.

like image 44
PaulJWilliams Avatar answered Nov 07 '22 03:11

PaulJWilliams