How to change the Google App Engine SDK location in Eclipse Neon.3? - eclipse

I have installed the latest Google Cloud SDK (200.0.0) and Google Cloud Tools on Eclipse Neon.3. The GCloud App Java Extensions have also been installed as below.
It seems the latest Google App Engine SDK 1.9.63 has been installed at:
C:\Users{USERNAME}.m2\repository\com\google\appengine\appengine-api-1.0-sdk\1.9.63
According to Google App Engine online documentation, I had to download and unzip the SDK (appengine-java-sdk-1.9.63) to a different directory.
I would like to use the SDK that I downloaded but the one in Maven. How can I change the location of the installed Google App Engine SDK in Eclipse?
EDIT:

I would like to clarify a few things:
.m2\repository is where Maven customarily caches Maven artifacts. Whenever any Maven projects make use of any JARs, they will generally be cached in that local repository. Since it is just a cache, you can safely delete the repository anytime in general. mvn package, for example, will download and cache necessary JARs again.
That said, .m2\repository\com\google\appengine\appengine-api-1.0-sdk\1.9.63 just contains a cached JAR: appengine-api-1.0-sdk-1.6.3-jar. Certainly, you wouldn't call a single JAR "Software Development Kit (SDK)"; I would call it, if I have to, an App Engine API JAR. Also, the JAR might have been cached by someone else than "Google Cloud SDK"; any Maven project that makes use of the classes in the JAR would automatically cache it.
"Cloud SDK" is a collection of tools and libraries for Google Cloud development and management.
"App Engine SDK for Java" as in https://cloud.google.com/appengine/docs/standard/java/download is another, different collection of tools and libraries for App Engine Java development, which you won't probably need here. The SDK is separate and independent from the Cloud SDK.
You don't need to download "App Engine SDK for Java" when using "Cloud Tools for Eclipse" (CT4E). CT4E is Cloud SDK-based and not App Engine SDK-based. Why do you need to manually download the App Engine API JAR? For example, you can add the JAR to your project in Eclipse by Preferences > Java Build Path > Libraries > Add Library > Google Cloud Platform Libraries > App Engine API > Finish.

You cannot configure App Engine SDK in Eclipse, you can just configure Google Cloud SDK inside Eclipse Google Cloud Tools.
Google App Engine SDK is a component of the Google Cloud SDK {1} so you can install it this way:
gcloud components install [COMPONENT-ID]
If you are using Java, [COMPONENT-ID] would be app-engine-java.
Good luck!
{1}: https://cloud.google.com/sdk/docs/components

Related

How to use Cloud Tools for Eclipse plugin to create microservices in Google App Engine?

As I upgraded my Eclipse to Neon 2 (Eclipse 4.6.2), as "Google Plugin for Eclipse" no longer support, so I switch to Google's "Cloud Tools for Eclipse plugin" (https://cloud.google.com/eclipse/docs/quickstart)
Last time that is easy to use "Google Plugin for Eclipse" to create multiple modules (known as microservices). I just need create an "Enterprise Application Project" using GAE as runtime and then create "Dynamic Web Project" and tie to that Enterprise App.
However in this "Cloud Tools for Eclipse", when I choose new Enterprise App, Google App Engine is not an option in runtime selection.
Any help on how to use "Cloud Tools for Eclipse" to create microservices for GAE?
Thanks
The Google Cloud SDK on which the new Cloud Tools for Eclipse depends does not support the EAR format. For the moment, you'll need to create individual Eclipse projects for each separate service, and deploy them individually.
We do need to beef up our multi-module support. Though that's not going to happen tomorrow, let me see what I can do about moving it up the stack.

Where do you put the libraries(sap.ui.core.js etc.) when downloading OPENUI5 SDK locally

I have a SAPUI5 Application developed via Eclipse(Using SAPUI5 Plugins) and now i want to call it to deploy on a Web Server.
But, in eclipse, i downloaded the plugins and libraries through Eclipse->New Software. Now, i want to download all libraries from http://openui5.org/download.html and place it locally.
Now, in eclipse version the code was
<script src="resources/sap-ui-core.js">
Now that i have downloaded the OPENUI5 SDK, where should i put it and how to refer it.
Most probably you will use Tomcat as a web server for testing, see here the basic steps for installation.

Eclipse(+AppEngine SDK) & Google "push-to-deploy" GIT repository

Is it possible to use Eclipse (with AppEngine SDK plugin) and Google "push-to-deploy" together? I have managed to install "gcloud"-tools and initialize a project fine! But now I can't figure out how to combine Eclipse project structure and the structure generated by "gcloud init". I mean I would like to do this:
1) Use Eclipse to edit the application and test it locally in Development server as before
2) But also utilize Google "Push-to-deploy" GIT repository (instead of GitHub)
Is this possible or feasible and is there any instructions how to do this kind of project setup correctly.
Thanks for any tips!
After some more experiments with gcloud (Google Cloud SDK) I would recommend creating the project with Maven and use Maven for building & running the development server. Still you can import the Maven project in Eclipse and use that as Java editor + remote debugger. Here's the instruction to get started:
https://developers.google.com/appengine/docs/java/tools/maven
Also Google Endpoints is quite nice tool for building REST APIs (though it still has some weaknesses, like limited support for HttpServletRequest data and poor authorization support in Development server)
https://developers.google.com/appengine/docs/java/endpoints/

Where does jdo data go while running a war google appengine app in eclipse?

I'm using eclipse and google appengine plugin to develop a war app. I'm trying to use JDO persistency (per appengine rules). I'd like to be able to inspect, add and remove jdo objects my app uses. Is that possible? If so, how?
While running locally, http://localhost:8888/_ah/admin provides a administration interface.
Select "Datastore Viewer" from the dashboard at https://appengine.google.com/.

GWT in eclipse javax.jws.WebMethod is not supported by Google App Engine's Java runtime environment

I created a GWT application in eclipse using the GWT eclipse plugin. By default it created GreetingServiceAsync.java and GreetingService.java in client package. GreetingServiceImpl.java in server package.
Now I want to call a CXF webservice from GreetingServiceImpl.java. I used wsdl2java to generate java classes for my wsdl. I imported these generated class in my GWT project in eclipse and the package is "service". But it complains "javax.jws.WebMethod is not supported by Google App Engine's Java runtime environment", many more errors.
How do I get rid of this?
Only error is the problem otherwise application is running fine.
Is javax.jws.WebMethod in the GAE whitelist? If you're sure that this class is really supported in the App Engine, then in Eclipse try:
Right click your project in the Project Explorer.
Google -> App Engine Settings
Make sure Use Google App Engine is checked
Try changing the App Engine SDK to the latest rev, if the dialog shows multiple ones
I had this problem after doing Software Update; a new GAE SDK was installed and for some reason it confused the plugin. It was telling me that java.lang.String was unsupported. :-)