後端報錯如下:
WARN [] o.s.b.t.j.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer.logDuplicateJsonObjectsWarning -
Found multiple occurrences of org.json.JSONObject on the class path:
jar:file:/D:/java_code/maven/repository/org/json/json/20140107/json-20140107.jar!/org/json/JSONObject.class
jar:file:/D:/java_code/maven/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar!/org/json/JSONObject.class
You may wish to exclude one of them to ensure predictable runtime behavior
即:有2個地方衝突的 json 依賴,需要 排除(exclude )一個。
解決辦法:
下面那個 json-20140107.jar添加的json依賴希望保留,那麼就需要排除掉 android-json 這個依賴。
首先需要知道這個 android-json 是在哪個依賴裏面,pom.xml 直接搜肯定是找不到 android-json的。
尋找看不到的 依賴 android-json,在pom文件編輯頁面,右鍵–Diagrams-Show Dependencies…
放大後(百度查看其他人ctrl+F可以進行搜索,本人嘗試未能出現搜索框),找到android-json,根據依賴線箭頭髮現 android-json 在 spring-boot-starter-test 裏面。
然後,在 spring-boot-starter-test 裏面排除依賴 android-json ,如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>
</exclusion>
</exclusions>
</dependency>
其實,就是在原有依賴裏面加入了下面內容:
<exclusions>
<exclusion>
<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>
</exclusion>
</exclusions>
類似的方法,解決一些隱藏的依賴包衝突 也可以這樣去尋找解決!