I use eclipse to develop an app engine project on maven that require “war packaging” (using maven-gae-plugin archetype).
How can I include other projects (e.g. a common library project) such a way that everything get updated when changes are done in one of the sub-projects ?
One solution could be “multi module project”, but I don’t understand why maven require the parent project to be pom packaging. Also, I am afraid that changing to pom packaging might break the appengine compatiblity (executing dev-server, deployment from eclipse plugin etc…)
A multi-module project is not only a way of packaging library dependents projects, indeed a war or an ear. It allows you to share properties, plugins, behaviors …
This is a way to link them together regardless of the final structure. Their own lifecycle are related.
So, the better way to do what you want is
You’ll still deploy your war project, but parent project would contain information about team, CI, dependency management.
You’ll release your parent project (with maven-release-plugin it will tag and guild automatically), because this it holds the whole lifecycle and relation between all of them..
Reactor (maven ordering engine) will arrange the order of building to match your dependencies, eg. resources, dao, services, webapp …
You really should read the Sonatype’s book : http://www.sonatype.com/books/mvnref-book/.
Hope this little explaination will help you !