Maven groupId and package name in java source

No, maven doesn't care what package names you use. Having said that, it's not a bad idea to make them consistent to make it a little easier to see which dependency a class comes from.


While creating a maven project if you have mentioned values for both groupId and package name, then maven will consider the package name to place your java class.

For example:

mvn archetype:generate -DgroupId=gen.src -DartifactId=Iftekhar -DpackageName=com.src.Model -Dversion=2.0-Snapshot

In the above scenario App.java class will be created inside the package com.src.Model and the groupId value will not be considered.

But if you have mentioned only groupId value (and not package name) like below:

mvn archetype:generate -DgroupId=com.src.Controller -DartifactId=Iftekhar -Dversion=2.0-Snapshot  

Then App.java class will be created inside the package com.src.Controller.