git - Breaking a monolithic java app -


i in process of breaking monolithic java application smaller modules, can better tests, etc. see of benefits issues:

  • the core application have own lifecycle.
  • each module have own lifecycle.

my interrogations around process: have done in past, need refresh processes.

what practices or issues following?

for project, use maven , git.

edit: realize broad question, simplified.

this question bit broad, i'm going give try nevertheless.

there 2 online books @ sonatype:

and, of course, the maven site itself.

artifact names derived <artifactid> , <version>. see apache maven jar plugin / usage, guide naming conventions on groupid, artifactid , version , understanding maven version numbers. see maven central examples how done others. approach pov include last part(s) of <groupid> in <artifactid> apache commons it. such can identify artifact name.

"keep -snapshot in poms?"

  • as consumer of <dependencies> depends whether decide rely on fixed released versions, behaviour of doesn't change while use them. or whether need latest functionality implemented in -snapshots of <dependencies> use.
  • for project's <version> keep -snapshot until prepare release. when releasing change release version short period of release process. after change higher -snapshot version.

see examples @ maven release plugin tasks done @ end of release cycle.

a <dependencymanagement> section in top parent pom makes sense.

maven , git excellent choices. ;)


Comments