使用 Maven 的 Eclipse 中的云端点
Cloud Endpoints in Eclipse using Maven
如何使用 Eclipse 在 Google 端点上构建和部署具有 Maven 依赖项的 Java 应用程序。本指南 Getting Started with Endpoints Frameworks on App Engine provides an introduction, but it doesn't mention how to build the project in Eclipse and deploy to the cloud using a Google SDK plugin for Eclipse (I need similar instruction as in this tutorial here,但适用于 Cloud Endpoints)。
编辑:
让我换一种说法:
我在 Eclipse 中并单击 "Google App Engine Flexible Java Project",然后会生成一个默认项目及其配置文件(pom.xml 等)。问题是这个项目不是 "Endpoints" 项目,因为它没有像 "openapi-appengine.yaml" 或 "openapi.yaml" 这样的文件。必须有一种标准的方式来生成 Endpoints 项目,就像我们为 Web 应用所做的那样。我在 Google Cloud 文档中找不到描述如何在 Eclipse 中使用 Cloud Tools 插件生成 Endpoints 项目的 document/page。
注意:
这个问题有一个选择的答案,但它仍然不是最佳方法。如果你能改进它,请做。
如果 Google 的任何人正在监视此问题的标签并阅读此内容,请告知。
这里是 Maven 教程:https://cloud.google.com/endpoints/docs/frameworks/java/get-started-frameworks-java and I don't know about that Eclipse plugin (using Gradle instead), in a regular terminal the command to deploy should be mvn appengine:deploy
- or to run it locally: https://cloud.google.com/eclipse/docs/running-and-debugging; it's a WTP 项目。
您还在使用已过时的 Eclipse 插件;最好使用 Google Cloud Tools for Eclipse 代替。
在花了几天时间尝试让它在 Eclipse 中运行后,我确信 Endpoints 项目不能完全在 Eclipse 中构建和测试,然后上传到 App Engine。
这是我所做的。如果有人有更好的答案,请 post 吧。
解法:
- 使用 this guide 创建虚拟 'Hello, World' 项目。
- 修改其 EchoServlet.java class 以包含您的应用程序代码。
- 修改 pom.xml 文件以包含您在应用程序中使用的所有依赖项。
- 将 API 部署到 App Engine 并进行测试。
缺点:
这有一个问题,您无法在不影响实时应用程序的情况下测试任何新功能,因为您必须直接在 App Engine 上重新部署和测试它。我想在部署到 App Engine 之前使用 Eclipse(构建和测试)在本地计算机上执行此操作。
鉴于您的要求,对于任何现有的大型标准应用程序引擎项目,如果您有超过 50-100 个依赖项(包括可传递的依赖项)需要管理,单靠 Eclipse 无法发挥魔力!您本质上需要集成一些有效的依赖管理和构建工具,例如 Maven 或 Gradle。
我最近 migrated/upgraded 我们的 App 引擎标准 java 项目从 Cloud Endpoints 框架 V1 到 V2。对于大型现有项目而言,这并非易事。
最痛苦的部分是相同 jars/dependencies.
的冲突 jar 和冲突版本
过去,我们曾尝试并花费大量时间来单独使用 Eclipse(及其插件生态系统)来处理这些问题,因为将 eclipse java 项目转换为 Maven java 项目还需要通过一些良好的学习曲线进行大量更改,这在当时是不可取的。
就在最近,我们将我们的 eclipse java 项目转换为 Maven 项目,并且借助其强大的依赖关系管理工具,事情变得简单了。此外,GPE 现在已弃用,您需要升级到基于 development/deployment 模型的 Cloud SDK,而 Maven 在这里非常方便。特别是对于 Datanucleus 增强和 Endpoints 框架集成,Maven/Graddle 将消除很多摩擦。
强烈建议将您的遗留项目转换为 Maven 项目(如果不是的话)。
@Martin Zeitler 指向正确的方向。
如何使用 Eclipse 在 Google 端点上构建和部署具有 Maven 依赖项的 Java 应用程序。本指南 Getting Started with Endpoints Frameworks on App Engine provides an introduction, but it doesn't mention how to build the project in Eclipse and deploy to the cloud using a Google SDK plugin for Eclipse (I need similar instruction as in this tutorial here,但适用于 Cloud Endpoints)。
编辑:
让我换一种说法:
我在 Eclipse 中并单击 "Google App Engine Flexible Java Project",然后会生成一个默认项目及其配置文件(pom.xml 等)。问题是这个项目不是 "Endpoints" 项目,因为它没有像 "openapi-appengine.yaml" 或 "openapi.yaml" 这样的文件。必须有一种标准的方式来生成 Endpoints 项目,就像我们为 Web 应用所做的那样。我在 Google Cloud 文档中找不到描述如何在 Eclipse 中使用 Cloud Tools 插件生成 Endpoints 项目的 document/page。
注意:
这个问题有一个选择的答案,但它仍然不是最佳方法。如果你能改进它,请做。
如果 Google 的任何人正在监视此问题的标签并阅读此内容,请告知。
这里是 Maven 教程:https://cloud.google.com/endpoints/docs/frameworks/java/get-started-frameworks-java and I don't know about that Eclipse plugin (using Gradle instead), in a regular terminal the command to deploy should be mvn appengine:deploy
- or to run it locally: https://cloud.google.com/eclipse/docs/running-and-debugging; it's a WTP 项目。
您还在使用已过时的 Eclipse 插件;最好使用 Google Cloud Tools for Eclipse 代替。
在花了几天时间尝试让它在 Eclipse 中运行后,我确信 Endpoints 项目不能完全在 Eclipse 中构建和测试,然后上传到 App Engine。
这是我所做的。如果有人有更好的答案,请 post 吧。
解法:
- 使用 this guide 创建虚拟 'Hello, World' 项目。
- 修改其 EchoServlet.java class 以包含您的应用程序代码。
- 修改 pom.xml 文件以包含您在应用程序中使用的所有依赖项。
- 将 API 部署到 App Engine 并进行测试。
缺点:
这有一个问题,您无法在不影响实时应用程序的情况下测试任何新功能,因为您必须直接在 App Engine 上重新部署和测试它。我想在部署到 App Engine 之前使用 Eclipse(构建和测试)在本地计算机上执行此操作。
鉴于您的要求,对于任何现有的大型标准应用程序引擎项目,如果您有超过 50-100 个依赖项(包括可传递的依赖项)需要管理,单靠 Eclipse 无法发挥魔力!您本质上需要集成一些有效的依赖管理和构建工具,例如 Maven 或 Gradle。
我最近 migrated/upgraded 我们的 App 引擎标准 java 项目从 Cloud Endpoints 框架 V1 到 V2。对于大型现有项目而言,这并非易事。 最痛苦的部分是相同 jars/dependencies.
的冲突 jar 和冲突版本过去,我们曾尝试并花费大量时间来单独使用 Eclipse(及其插件生态系统)来处理这些问题,因为将 eclipse java 项目转换为 Maven java 项目还需要通过一些良好的学习曲线进行大量更改,这在当时是不可取的。
就在最近,我们将我们的 eclipse java 项目转换为 Maven 项目,并且借助其强大的依赖关系管理工具,事情变得简单了。此外,GPE 现在已弃用,您需要升级到基于 development/deployment 模型的 Cloud SDK,而 Maven 在这里非常方便。特别是对于 Datanucleus 增强和 Endpoints 框架集成,Maven/Graddle 将消除很多摩擦。
强烈建议将您的遗留项目转换为 Maven 项目(如果不是的话)。 @Martin Zeitler 指向正确的方向。