I've created Appstart (https://github.com/omerio/appstart) a boilerplate maven based multi-module App Engine application that demonstrates the use of technologies like Guice, Jersey, Objectify, Cloud EndPoints and has 3 modules a fronend module, backend module and common module which includes all the common classes including the model, which should show you an example of how to manage common code. The folder contains the following modules/maven projects
- appstart-backend
- appstart-common
- appstart-ear
- appstart-frontend
The backend module only contains code required for the backend, the frontend contains the frontend code and the common module contains common code. The projects are setup inside a parent folder 'appstart' with a parent maven POM. The common module is included in both the frontend and backend using a maven dependency:
<!-- Common module dependency -->
<dependency>
<groupId>uk.co.inetria.appstart</groupId>
<artifactId>appstart-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
When you change the common code you can run mvn clean then install from the appstart-ear directory and it should update all dependent projects. I hope this helps