我正在尝试在 GAE 上启动一个简单的 Java (Maven) Spring Boot 应用程序,该应用程序与 PostrgreSql 服务器(也在云平台上)进行通信,但是我一直遇到缺少的依赖项。
我的 pom 中有这些依赖项:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter</artifactId>
<version>1.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-sql-postgresql</artifactId>
<version>1.1.3.RELEASE</version>
</dependency>
但是,每当我将应用程序部署到 GAE 和 FlyWay 时,都会抛出以下内容:
java.lang.ClassNotFoundException: com.google.appengine.api.ThreadManager
我主要在这里遵循 Baeldung 教程:https ://www.baeldung.com/spring-boot-google-app-engine 。
然后我找到了这个答案:AppEngine ClassNotFoundException: com.google.appengine.api.datastore.DatastoreServiceFactory 这导致我添加了 appengine 依赖项:
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>1.9.77</version>
</dependency>
然后抛出:
ClassNotFoundException: com.google.api.client.googleapis.extensions.appengine.auth.oauth2.AppIdentityCredential$AppEngineCredentialWrapper
然后导致我添加客户端依赖项..等等..等等..
我的完整依赖集现在是:
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud</artifactId>
<version>0.47.0-alpha</version>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-1.0-sdk</artifactId>
<version>1.9.77</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter</artifactId>
<version>1.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-sql-postgresql</artifactId>
<version>1.1.3.RELEASE</version>
</dependency>
那..又回到了上面的异常:
ClassNotFoundException: com.google.api.client.googleapis.extensions.appengine.auth.oauth2.AppIdentityCredential$AppEngineCredentialWrapper
所以这可能是一个依赖问题,但我找不到任何关于需要添加哪些依赖项才能让简单的 Spring Boot 应用程序运行到 PostgreSQL 服务器的文档。
我要认输了……不过可能是睡眠不足