使用Maven在Eclipse中使用云端点

时间:2018-01-02 16:17:54

标签: eclipse google-app-engine google-cloud-platform google-cloud-endpoints

如何使用Eclipse在Google Endpoint上构建和部署具有Maven依赖关系的Java应用程序。本指南Getting Started with Endpoints Frameworks on App Engine提供了一个介绍,但没有提到如何使用Eclipse的Google SDK插件在Eclipse中构建项目并部署到云(我需要与此tutorial here中类似的说明,但对于Cloud Endpoints而言。



修改
让我换一种说法:
我在Eclipse中,点击“Google App Engine Flexible Java Project”,然后生成一个默认项目及其配置文件(pom.xml等)。问题是该项目不是“端点”项目,因为它没有“openapi-appengine.yaml”或“openapi.yaml”等文件。必须有一种生成Endpoints项目的标准方法,就像我们对Web应用程序所做的那样。我在Google Cloud文档中找不到描述如何使用Eclipse中的Cloud Tools插件生成Endpoints项目的文档/页面。

注意:
这个问题有一个选择的答案,但它仍然不是最佳方式。如果你可以改进它,请做。
如果Google的任何人正在监控此问题的标签并阅读此信息,请提供建议。

3 个答案:

答案 0 :(得分:0)

这是Maven的教程:https://cloud.google.com/endpoints/docs/frameworks/java/get-started-frameworks-java我不知道Eclipse插件(改为使用Gradle),在常规终端中,部署命令应为mvn appengine:deploy - 或者在本地运行它:https://cloud.google.com/eclipse/docs/running-and-debugging;它是一个WTP项目。

你也在使用一个废弃的Eclipse插件;更好地使用Google Cloud Tools for Eclipse

Google Cloud Tools for Eclipse

答案 1 :(得分:0)

在花了几天试图让它在Eclipse中工作之后,我开始相信Endpoints项目不能完全构建并在Eclipse中测试然后上传到App Engine。

这是我做的事情。如果有人有更好的答案,请发布。

解决方案:

  1. 使用this guide创建一个虚拟的“Hello,World”项目。
  2. 修改其EchoServlet.java类以包含您的应用程序代码。
  3. 修改pom.xml文件以包含您在应用程序中使用的所有依赖项。
  4. 将API部署到App Engine并进行测试。


  5. 缺点:

    这有一个问题,你不能在不影响实时应用程序的情况下测试任何新功能,因为你必须直接在App Engine上重新部署和测试它。我想在部署到App Engine之前使用Eclipse(构建和测试)在本地计算机上执行此操作。

答案 2 :(得分:0)

考虑到您的需求,对于任何现有的规模较大的标准Appengine项目,如果要管理50-100多个依赖项(包括可传递的依赖项),仅凭Eclipse便无法做到!本质上,您需要集成一些有效的依赖管理和构建工具,例如Maven或Graddle。

我最近将App Engine Standard java项目从Cloud Endpoints框架V1迁移/升级到了V2。对于现有的大型项目而言,这并非易事。 最痛苦的部分是相同的jar /依赖项的冲突jar和版本冲突。

过去,我们仅使用Eclipse(及其插件生态系统)就尝试并花费了很多时间来解决这些问题,因为将eclipse java项目转换为Maven java项目需要很多变化,并需要一些良好的学习曲线,因为好吧,那不是一个选择。

直到最近,我们将eclipse java项目转换为Maven一个项目,借助其强大的依赖关系管理工具,事情变得轻松了。此外,GPE现在已过时,您需要升级到基于Cloud SDK的开发/部署模型,Maven变得非常方便。 Esp。对于Datanucleus增强和Endpoints框架集成,Maven / Graddle将消除很多摩擦。

强烈建议您将遗留项目转换为Maven,如果没有的话。 @Martin Zeitler指向正确的方向。