【发布时间】:2021-12-22 09:28:11
【问题描述】:
我正在尝试在 java 中使用 gson 和 guava 库来获取两个 JSON 文件之间的差异。
我收到错误:“无法解析符号'Maps'。我的 InteliJ 安装文件夹的 lib 文件夹中有 guava 库 jar 文件,pom.xml 文件中的依赖项如下所示:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
</dependency>
创建差异的函数如下所示
public static Map<String, Object> newCompare(JsonElement original, JsonElement output){
Type type = new TypeToken<Map<String, Object>>(){}.getType();
Map<String, Object> leftMap = gson.fromJson(original, type);
Map<String, Object> rightMap = gson.fromJson(output, type);
return Maps.Difference(leftMap, rightMap);
}
我尝试重新导入所有 maven 项目并寻找答案,但我找到的所有解决方案都是关于 android 地图的。 你能给我一些关于如何解决这个问题的建议,或者提出任何其他的解决方案吗?非常感谢。
【问题讨论】:
-
错误消息和您发布的代码似乎不相关。您发布的代码中没有符号
maps,只有Maps(大写在编程中很重要)。这是您发布问题时的拼写错误吗? -
是的,很抱歉,这是文本部分的错字,但代码中的大写字母没有问题。谢谢
-
1.如果您将依赖项作为 maven 依赖项,那么您不需要 pom 文件中的条目(或者如果您坚持使用本地版本,则添加系统路径)。 2. 您是否有所需的
import类的完全限定名?