Java读取Firestore时ApiFuture导入及模块依赖问题
解决Firestore读取数据时ApiFuture无法引用的问题
1. 替换错误的Maven依赖
你之前添加的google-api-client依赖并不包含ApiFuture类型,正确的依赖是google-api-core。在你的pom.xml中添加或替换为以下配置:
<dependency> <groupId>com.google.api</groupId> <artifactId>api-core</artifactId> <version>2.20.0</version> <!-- 版本可根据你使用的Firestore SDK版本调整,保持兼容即可 --> </dependency>
另外,确保你已经正确引入Firestore的核心依赖(如果还没加的话):
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-firestore</artifactId> <version>3.15.0</version> <!-- 选择与你的项目适配的版本 --> </dependency>
2. 修正Module-info.java的模块声明
保留requires com.google.api.core;即可,多余的google.api.client模块声明可以移除。同时如果需要使用Firestore的API,还需添加Firestore的模块依赖,最终相关声明如下:
module your.project.module { requires com.google.api.core; requires com.google.cloud.firestore; // 其他项目所需的模块声明 }
3. 依赖获取来源说明
api-core依赖由Google官方维护,可通过Maven中央仓库直接拉取。如果你的Maven配置未同步中央仓库,也可以手动添加Google的Maven仓库到pom.xml中:
<repositories> <repository> <id>google-repo</id> <url>https://maven.google.com</url> </repository> </repositories>
内容的提问来源于stack exchange,提问作者Phillip Ng
相关产品推荐
相关产品推荐

