【发布时间】:2014-09-29 19:22:24
【问题描述】:
我正在开发一个 Google Appengine Java 应用程序,并且在使用本地开发服务器进行测试时面临着重大挑战。我放弃了 Eclipse 工具,因为我对 Netbeans 和 我正在使用 Appengine Maven 插件进行开发。
这是我的示例项目结构:
我的应用程序
模块端点
模块网络
模块耳
pom.xml
当我在根文件夹 (myapp) 上使用 mvn clean install 构建时,以及当我使用 mvn appengine:devserver 命令运行 module-ear 应用程序时,应用程序可以工作,但是我似乎无法通过以下方式访问云端点http://localhost:8080/_ah/api。当我通过管理控制台http://localhost:8080/_ah/admin访问端点时,我只能通过动态发布的端口访问端点的API。
问题在于,根据教程在模块网络项目上测试云端点 Javascript 客户端时,我应该使用 localhost:8080/_ah/api 作为我的测试 URL。我错过了什么吗?
【问题讨论】:
-
您确定您使用的本地 API 浏览器的 URL 正确吗?它应该是
http://localhost:8080/_ah/api/explorer(但实际上它是一个重定向)。您知道您可以在应用程序的pom.xml的<plugin><configuration>中指定<port></port>吗? -
你知道当你在开发服务器上运行一个ear应用程序时,它会为云端点应用程序生成一个随机端口,如果你检查你的控制台,你会发现列出的两个应用程序,war应用程序将运行在 8080 上,而云端点应用程序在不同的端口上运行(每次运行大多是随机的)。如果我访问端点模块,例如 localhost:6789/_ah/api/explorer 它可以工作,但是当我尝试像这样访问它时 localhost:8080/_ah/api/explorer 它没有。谢谢.
-
对,我正在查看的应用程序在同一模块中有端点。也许我会尝试拆分端点或进入一个新模块,看看我是否可以重现这个问题。您的端点模块是默认模块吗?
-
@tx802 不,我的端点模块不是默认模块。
-
@tx802 所有教程都说使用这个 url localhost:8080/_ah/api,在我看来,资源管理器 url 就像测试端点服务方法的 url,而 _ah/api 适用于客户端访问端点服务方法。