在过去的几周里,我一直在使用 GAE / J 和 Google Cloud Endpoints 开发应用。我创建了我的自定义端点(使用注释),虽然我遇到了很多问题,但我可以解决它们,一切都工作得很好。
但是现在(2013年4月22日)我尝试在端点方法中进行更改,突然 Google Eclipse插件不再生成客户端库了!
我试图从我的项目中删除所有生成的api文件,但没有任何效果。我甚至再次下载了Eclipse,安装了所有最新版本的GPE和GAE SDK并从头开始了一个新项目,但我收到同样的错误...
编辑:在尝试绝对一切后,似乎 Google的结尾一定存在问题。似乎GPE使用的是CloudClientLibGenerator
,至少在最后一次......
现在我想知道:
无论如何,我认为这个词是 dis-end-ppointment 和端点......
注意:我在Google代码中打开了this issue。
编辑:来自Google项目成员的回复:“目前一般存在端点问题,这会混淆当前或以前的库生成问题。我会在当前问题得到解决后更新。“
“我们正努力尽快解决问题。我们会在问题解决后发布更新。”
您必须更改为以前的GAE SDK版本。 1.7.5 和 1.7.6 正在发挥作用。您可以从here下载Java版本。
我已经尝试过,端点库生成工作正常!还有开发服务器中的API Explorer,所以我们可以在等待修复错误的同时继续开发,根据Google团队将会发生什么明天 ......
突然间,我已部署的端点无法正常工作! (尽管客户端生成仍未使用SDK 1.7.7)
编辑:来自谷歌他们说命令行的生成也正常。
尝试生成客户端库时抛出的异常的堆栈跟踪(在GPE错误日志中):
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmApiCreator.createClientLibFromApiConfig(SwarmApiCreator.java:121)
at com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmApiCreator.createSwarmApi(SwarmApiCreator.java:242)
at com.google.gdt.eclipse.appengine.swarm.wizards.helpers.SwarmServiceCreator.create(SwarmServiceCreator.java:364)
at com.google.gdt.eclipse.appengine.swarm.wizards.GenerateSwarmApiAction$1.run(GenerateSwarmApiAction.java:84)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
at com.google.gdt.eclipse.appengine.swarm.wizards.GenerateSwarmApiAction.run(GenerateSwarmApiAction.java:80)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
Caused by: com.google.appengine.repackaged.com.google.api.client.http.HttpResponseException: 400 Bad Request
{"error": {"message": "Bad Request", "code": 400, "errors": [{"message": "api error", "debug_info": "Could not parse api"}]}}
at com.google.appengine.repackaged.com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1155)
at com.google.api.server.spi.tools.CloudClientLibGenerator.postRequest(CloudClientLibGenerator.java:52)
at com.google.api.server.spi.tools.CloudClientLibGenerator.generateClientLib(CloudClientLibGenerator.java:43)
... 41 more
答案 0 :(得分:5)
现在已在GPE 3.2.3和服务端修复此问题。您现在可以使用App Engine 1.7.7。
仍然存在一个问题:
https://code.google.com/p/google-plugin-for-eclipse/issues/detail?id=191
它将在周一修复。
答案 1 :(得分:0)
我有同样的问题。似乎没有修复。它一下子就开始发生了。昨天我能够生成云端点客户端库。但现在,没有。甚至创建一个新的模板项目也会产生错误。因此,从错误中猜测,它似乎是谷歌的一个问题。
已记录一个未解决的问题: https://code.google.com/p/googleappengine/issues/detail?id=9180