Using appengine modules implies creating dynamic web application instead of the usual appengine web application project. Cloud endpoints work well with the usual appengine Web Application projects, but these do not support appengine modules.
The problem is that if I try to generate cloud endpoint client library on a Dynamic Web Application, I get an error "Not an App Engine project".
Is there any way to get a Dynamic Web Application to be recognized as an App Engine project so that cloud endpoint client libraries can be generated on it?
The solution to this case is within François POYER answer, but here is a version with no maven assumed.
If you are using WTP to create and manage your appengine application and EAR:
If you do not see Google App Engine WTP and you only see "Google", its likely you have not selected the Java EE perspective.
You do not have to use maven for this, simply use WTP to create and manage your EARs and appengine applications.
Currently working on the same problem, I think I have found a solution with the following setup (using maven for a java project):
In the project-root pom.xml: defines a few common values (like the appengine version you're using), a
pom
packaging and your modules, especially an EAR one:The pom.xml of the EAR module should have of course EAR packaging but also "war" typed dependencies on the other modules and the "unpack types" option of the maven-ear plugin set to "war":
Finally, the "cloud-endpoints" pom.xml should be configured as a basic cloud endpoints webapp project with "war" packaging:
Building this project, you should be able to generate your cloud-endpoints client librariy through Eclipse: right click on the "cloud-endpoints" project => "Google App Engine WTP" => "Generate Cloud Endpoint Client Library" will generate everything needed in
myproject-cloud-endpoints/endpoint-libs/
.Hope that helps!