When working with multiple Google App Engine projects in an Eclipse workspace, you might want extract duplicated code (such as framework and utility code) from those projects into a new shared project.
However sharing code between projects in Eclipse is already very common thing to do by adding required projects on your build path:
As an example, let's say I have three different projects: two regular sites and one utility and framework project, which contains code that I want to share to for my other sites.
Inside the framework project I have a utility classed call
StringUtil which has the method
In my project site1, I am planning to use my utility method, but Eclipse cannot find my
If I add the framework the project as a required project:
Error: Server Error
The server encountered an error and could not complete your request.
If the problem persists, please report your problem and mention this error message and the query that caused it.
And looking in the logs, I see the site crashed due to not finding my
This meant that even though Eclipse finds my
StringUtil class, the code doesn't actually get deployed up to the Google App Engine. This is because when I added framework as a required project, I told Eclipse to start looking in framework's bin folder as well for classes - but when I am deploying to Google App Engine, I am actually deploying one site, meaning site1 and it's bin folder.
To solve this, I instead need to link the framework's source code as a linked source folder.
In the Link Source dialogue you can either point directly to a source folder, but since I am planing to have multiple projects linking in framework, I have have created a variable. Meaning, if I never need to change the path, I only need to change in one place instead of in all my projects.
Old comments from Blogger
Fred R. October 15, 2011 at 1:45 PM
Thx for your post. I'm starting a GAE project at the moment and want to have a project containing only model and stuff like that. This was exactly what I was looking for.
Maroloccio, May 6, 2012 at 9:34 PM
Thank you for your post, I found it great.
Frode Nilsen, January 30, 2013 at 4:48 PM
Thanks for this. Project referencing in Eclipse can be a pain sometimes... This post saved me a lot of time.