从 Eclipse Google 插件迁移

Eclipse Google 插件 (GPE) 不再可用。本文档介绍如何将使用 GPE 的项目迁移到 Cloud Tools for Eclipse。

App Engine 标准

Cloud Tools for Eclipse 支持 App Engine 环境的开发。 要将现有 GPE 项目迁移到 Cloud Tools for Eclipse,请执行以下操作:

  1. 确保您运行的是适用于 Java EE 开发者的 Eclipse IDE(4.8 至 4.21 版)。

  2. 安装 Cloud Tools for Eclipse。此过程将卸载 GPE。

  3. 在 Eclipse 中打开 Project Explorer

  4. 右键点击要转换的项目,然后选择配置 > 转换为 App Engine 项目 (Convert to App Engine Project)。

Apps 脚本

您可以使用 Google 云端硬盘脚本编辑器直接在网络浏览器中修改 Apps 脚本项目。

Google 云端硬盘中已提供所有 Apps 脚本项目,无需额外导出或转换。

GWT

安装 GWT Eclipse 插件

您可能会在 GWT 项目中看到构建错误。要解决这些错误,请执行以下操作:

  1. 在 Project Explorer 中选择“项目”。

  2. 打开上下文菜单。

  3. 选择配置 > 启用 GWT SDM 构建器 (Enable GWT SDM builder)。

App Engine + GWT

App Engine 代码在服务器上运行,GWT 代码在客户端上运行(虽然该代码是从服务器编译和提供的)。您应该最好将它们划分为单独的项目:App Engine Eclipse 项目和 GWT Eclipse 项目。

完成划分后,您可以按照上述 App Engine 标准迁移步骤GWT 项目迁移步骤进行操作。

Android

Android Studio 是针对 Android 开发的官方 IDE。

您可以使用从 Eclipse 迁移的流程,将现有 Eclipse Android 项目转换为包含基于 Gradle 的构建文件的 Android Studio 项目。

端点

GPE 支持 Endpoints v1。 您可能希望升级到 Endpoints v2,但没有关于此升级的特定于 IDE 的任何内容。

目前没有任何 IDE(包括 Eclipse)可为 Endpoints v2 提供集成支持。您可以像处理任何其他 Java 项目一样在 Eclipse 中处理 Endpoints v2 项目。但是,没有任何特定于 Endpoints 的代码检查、代码生成器、新项目向导、编辑器或部署工具。

如果您希望继续使用 Endpoints v1,您同样可以像导入任何其他 Java 项目一样将后端项目导入 Eclipse。 使用不含 GPE 的 Endpoints v1 的最简单的方法是利用 com.google.appengine:appengine-maven-plugin 和 Eclipse m2e 集成。

如果您的项目尚未使用 maven 构建,则需要添加 pom.xml 文件:

  1. 如有必要,请安装 m2e 插件。

  2. 在 Project Explorer 中选择“项目”。

  3. 从上下文菜单中选择配置 > 转换为 Maven 项目 (Convert to Maven Project)。 此转换会将 pom.xml 文件添加到项目中,并将项目设置为使用 Maven 构建器。

  4. 请将以下 dependencies 添加到该 pom.xml 中:

    <dependencies>
      <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-endpoints</artifactId>
        <version>1.9.73</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>javax.persistence</artifactId>
        <version>2.1.0</version>
      </dependency>
      <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>3.0.2</version>
      </dependency>
      <dependency>
        <groupId>com.google.appengine.orm</groupId>
        <artifactId>datanucleus-appengine</artifactId>
        <version>2.1.2</version>
      </dependency>
    </dependencies>
    

    如果您的应用依赖于其他库,还请添加这些依赖项。

  5. 将此插件添加到 plugins 部分:

    <plugin>
        <groupId>com.google.cloud.tools</groupId>
        <artifactId>endpoints-framework-maven-plugin</artifactId>
        <version>1.0.0</version>
    </plugin>
    
  6. 设置 pom.xml 后,使用 endpoints-framework:discoveryDocs 目标生成发现文档:

    $ mvn endpoints-framework:discoveryDocs
    
  7. 使用 endpoints-framework:clientLibs 目标生成客户端库:

    $ mvn endpoints-framework:clientLibs
    

您可以将这些目标映射到 Eclipse Maven Build 运行配置,以便从运行菜单轻松访问。

Eclipse Maven Build 配置

DataNucleus(JPA 和 JDO)

Cloud Tools for Eclipse 不会自动增强实体类。

您可以使用 Maven 来实现此功能。

Objectify

Cloud Tools for Eclipse 中的开发工作流支持 Objectify 5.x,且无需任何更改。

如果您愿意,可以迁移到 Objectify 6.0。此迁移需要项目代码的更新。使用 Objectify 6.0 进行本地开发还需要 Datastore 模拟器 (gcloud beta emulators datastore),该模拟器必须在 Eclipse 外部启动,并且需要一些额外的配置才能启动。

如需了解详情,请参阅 Objectify 文档

后续步骤

  • 现在,您已成功将项目迁移到 Cloud Tools for Eclipse,接下来可详细了解可用工具和资源。

  • GitHub 上浏览插件代码或报告问题,或者在 Stack Overflow 上提问。