我正在嘗試使用 java 中的 gson 和 guava 庫來獲取兩個 JSON 檔案之間的差異。
我收到錯誤訊息:“無法決議符號‘地圖’。我的 InteliJ 安裝檔案夾中的 lib 檔案夾中有番石榴庫 jar 檔案,pom.xml 檔案中的依賴項如下所示:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
</dependency>
創建 diff 的函式如下所示
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 地圖有關。你能給我一些關于如何解決這個問題的建議,或者提出任何其他解決方案嗎?非常感謝。
uj5u.com熱心網友回復:
它Maps::difference在 Google 的番石榴中,而不是Maps::Difference.
uj5u.com熱心網友回復:
要解決您的 Maps 類,因為您在檔案夾中有庫 jar,下面的條目應該可以解決問題。請在“ systemPath ”部分提及jar絕對路徑。
請注意,以下方法不可取,應從 Maven 存盤庫中參考依賴項。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.0.1-jre</version>
<scope>system</scope>
<systemPath>TO PROVIDE THE ABSOLUTE PATH OF JAR FILE</systemPath>
</dependency>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/354176.html
上一篇:以函式方式重寫嵌套的三元運算子
