Bohn
Bohn

Reputation: 26919

How do you start with writing a mavenized Java application

I am pretty new to Java and Maven and today was studying about maven, how to Mavenize a java app, how to make it good for EClipse, etc... so now I have a question: when we want to write a Java and we know that we want to use Maven too, then we start writing application and creating out directory structure with the layout that Maven likes it? or we just write our app and at the end we mavenize it? Where do we start from when we want to create a java app from beginning and we want it to be mavenized too.

Upvotes: 0

Views: 273

Answers (2)

Jean-Rémy Revy
Jean-Rémy Revy

Reputation: 5677

As Adrian said, you should definitely use Maven since the beggining.

One of its main value is to guide you on "the right way". I should say "The right Maven way". It's sometimes very restrictive, but it's the main advantage : if you do like Maven is waiting for, you are probably on the way that every community or big project do.

If you start your project "by yourself", you may forgot or miss something that will trouble you. For instance, main java sources are expected to be in src/main/java. Most of the plugin use the variable sourceDirectory to bind it ... but you may have to redefine this variable many times for plugins. Another instance, and quite often confusing, is the multi module project. If you have 2 or more project that are binded (in their life cycle), you should set up a multi module project. If you don't, you will face of code or action duplication (2 tags, 2 build, 2 deployement, etc...).

So, in order to give you a straight answer :

  1. read http://www.sonatype.com/books/mvnref-book/reference/
  2. use the more appropriate archetype to build your project
  3. if you create it under command line (not with an IDE), import it
  4. then work :)

What I'm saying will appear you more and more clear using Maven :).

See Why does Maven have such a bad rep? to better understand why :)

Upvotes: 1

Adrian Shum
Adrian Shum

Reputation: 40056

Use Maven from the beginning. Why write in a different structure and convert it again at the end, while you can do it in correct way from start? If you don't use Maven from the start, what build tools you will use then? Ant? I don't see any gain in productivity in such approach.

Upvotes: 1

Related Questions