Ven*_*nky 5 java google-app-engine google-cloud-endpoints
我通常在AppEngine(Java)上使用Google Cloud Endpoints,如下所述:
https://cloud.google.com/appengine/docs/java/endpoints/helloendpoints-java-maven
我使用的端点库的依赖关系是:
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-endpoints</artifactId>
<version>1.9.48</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)
使用此命令,我可以使用以下命令启动本地开发服务器:mvn clean package appengine:devserver
但是,似乎有一个新版本的云端点. https://cloud.google.com/endpoints/docs/frameworks/java/quickstart-frameworks-java.
新框架可在此处找到
<dependency>
<groupId>com.google.endpoints</groupId>
<artifactId>endpoints-framework</artifactId>
<version>${endpoints.framework.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
相同的maven命令在这里不起作用.我无法启动本地开发服务器,打开API资源管理器或使用本地数据存储区(所有这些都可能更早).有人可以指导我如何使用新框架.
此外,前框架是否可能被弃用?
部分回答我自己的问题:我终于可以使用"Echo应用程序"(在https://cloud.google.com/endpoints/docs/frameworks/java/quickstart-frameworks-java中提到)来工作
但我必须进行2次更改:a)在appengine-web.xml中注释掉该块.即
<!--
<basic-scaling>
<max-instances>2</max-instances>
</basic-scaling>
-->
Run Code Online (Sandbox Code Playgroud)
执行此操作后,我得到了一个不同的错误,"失败的端点-api-configuration:com.google.api.config.ServiceConfigException:无法获取服务的默认配置版本"为了解决这个问题:
b)从web.xml注释掉ServiceManagementConfigFilter,即
<!--
<filter>
<filter-name>endpoints-api-configuration</filter-name>
<filter-class>com.google.api.control.ServiceManagementConfigFilter</filter-class>
</filter>
-->
<!--
<filter-mapping>
<filter-name>endpoints-api-configuration</filter-name>
<servlet-name>EndpointsServlet</servlet-name>
</filter-mapping>
-->
Run Code Online (Sandbox Code Playgroud)
在这之后,
要构建:mvn clean包
在本地运行:appengine-java-sdk/1.9.44/appengine-java-sdk/appengine-java-sdk-1.9.44/bin/dev_appserver.sh/path/to/war/directory
如果有人能够更清楚地了解这些变化的含义,以及我们如何让它开箱即用,那将会很棒
您遇到了一些问题,并且这些东西对配置问题过于敏感:
要解决问题,请按照以下说明进行操作: https: //cloud.google.com/endpoints/docs/frameworks/java/quickstart-frameworks-java
如果项目 ID 无效(实际上存在于 AppEngine 中),则后续步骤将不起作用
mvn exec:java -DGetSwaggerDoc
gcloud service-management deploy openapi.json
export ENDPOINTS_SERVICE_NAME=echo-api.endpoints.<your project id>.cloud.goog
快速入门指南对步骤 5 没有太大帮助。步骤 4 需要以成功消息结束。
最后,该示例附带了一个 Maven 插件,该插件似乎无法与新的端点一起使用。而不是使用:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>${appengine.maven.plugin.version}</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)
使用:
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.9.44</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)
为什么 mvn appengine:devserver 不起作用的问题的答案是新插件中不存在 devserver 目标。旧的 Maven 插件允许您执行: mvn appengine:devserver
归档时间: |
|
查看次数: |
1120 次 |
最近记录: |