【发布时间】:2015-02-10 20:53:25
【问题描述】:
我正在尝试设置一个多模块 Appengine 应用,其中一个模块作为托管 VM。
但是对于初学者来说,我正在检查我是否可以从这里在 AppEngine Java 多模块示例上运行 gcloud preview app run: https://github.com/GoogleCloudPlatform/appengine-modules-sample-java
当我将它导入 Android Studio 并运行 appengineRun 构建规则时,它构建得很好。但是,如果我转到命令提示符并运行以下命令:
E:\appengine-modules-sample-java-master>gcloud preview app run appengine-modules
-guestbook/src/main/webapp
然后我得到以下错误:
INFO: Skipping SDK update check. INFO: Starting API server at: http://localhost:51296 INFO: Starting module "default" running at: http://localhost:8080 INFO: Starting admin server at: http://localhost:8000 Exception in thread "main" java.lang.RuntimeException: Unable to create a DevApp Server ERROR: bad runtime process port ['']
at com.google.appengine.tools.development.devappserver2.DevAppServer2Fac tory.doCreateDevAppServer(DevAppServer2Factory.java:87)
at com.google.appengine.tools.development.devappserver2.DevAppServer2Fac tory.access$000(DevAppServer2Factory.java:35)
at com.google.appengine.tools.development.devappserver2.DevAppServer2Fac tory$1.run(DevAppServer2Factory.java:47)
at com.google.appengine.tools.development.devappserver2.DevAppServer2Fac tory$1.run(DevAppServer2Factory.java:45)
at java.security.AccessController.doPrivileged(Native Method)
at com.google.appengine.tools.development.devappserver2.DevAppServer2Fac tory.createDevAppServer(DevAppServer2Factory.java:45)
at com.google.appengine.tools.development.devappserver2.StandaloneInstan ce$StartAction.apply(StandaloneInstance.java:119)
at com.google.appengine.tools.development.devappserver2.StandaloneInstan ce$StartAction.apply(StandaloneInstance.java:82) ERROR: bad runtime process port ['']
at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.j ava:48)
at com.google.appengine.tools.development.devappserver2.StandaloneInstan ce.run(StandaloneInstance.java:66)
at com.google.appengine.tools.development.devappserver2.StandaloneInstan ce.main(StandaloneInstance.java:44) Caused by: java.lang.RuntimeException: Cannot generate policy file.
at com.google.apphosting.utils.security.SecurityManagerInstaller.install (SecurityManagerInstaller.java:96)
at com.google.appengine.tools.development.devappserver2.DevAppServer2Fac tory.doCreateDevAppServer(DevAppServer2Factory.java:72)
... 10 more Caused by: java.io.IOException: Access is denied
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
at java.io.File.createTempFile(File.java:1981)
at java.io.File.createTempFile(File.java:2032)
at com.google.apphosting.utils.security.SecurityManagerInstaller.generat ePolicyFile(SecurityManagerInstaller.java:144)
at com.google.apphosting.utils.security.SecurityManagerInstaller.install (SecurityManagerInstaller.java:94)
... 11 more INFO: default: "GET /_ah/warmup HTTP/1.1" 500 2167
对于我尝试使用 gcloud preview app run 运行的任何 Java AppEngine 模块,我都会遇到相同的错误。 gcloud 应用不支持运行 Java AppEngine 模块吗?
我做错了什么?
更新: 到今天为止,我使用最新的 gcloud 工具再次运行了该命令,但仍然出现上述错误。
【问题讨论】:
-
您是否设置了 vm=true 以绕过安全管理器? (cloud.google.com/appengine/docs/java/managed-vms)
-
我没有……但这不会使标准的 java AppEngine 模块也可以在托管 VM 上运行吗?因此,我会失去非托管 VM 模块默认具有的自动扩展功能吗?是否不允许在自动扩展上运行一个模块,并且没有托管 VM,同时在托管 VM 上运行另一个模块? (我的理解是,即便如此,我仍然必须使用 gcloud 运行/部署
-
我设置了
true> 并用新的错误更新了问题。 -
是的,您可以将向我发出文件 API 调用的托管 VM 配置为常规模块,并将您的其他标准模块配置为常规模块。我认为托管虚拟机具有自动缩放功能:cloud.google.com/appengine/docs/managed-vms/config
-
太棒了。我已经更新了删除 vm=true 的问题,因为我首先尝试将默认模块作为标准模块运行。
标签: java windows google-app-engine gcloud