Java – Force Recompilation of WAR File Including JAR Dependencies

javamavenweb-applications

I have a project A (a webapp), depending on project B (B.jar) and this one depending on project C (C.jar).

I would like to create a maven goal named "Rebuild War", that clean all compiled code for these 3 projects and rebuild the whole in order to obtain a fresh War file.

I tried mvn clean package on project A, but I noticed that B and C are not recompiled. Indeed, B.jar and C.jar that are contained in local repository don't have a changing creation date.

Is there an adapted maven command for this requirement ?

Best Answer

Given a directory structure of

/foo/A/pom.xml
/foo/B/pom.xml
/foo/C/pom.xml

you need to introduce

/foo/pom.xml

and that should specify A, B and C as modules. You can now do cd /foo; mvn clean install and have A, B, and C recompiled. If your dependencies are correct, they even do so in the correct order.

Related Topic