javaspringmavenspring-bootbuild-dependencies

Maven + Spring Boot: Found multiple occurrences of org.json.JSONObject on the class path:


When I run mvn test I get this warning. How can I fix it?

Found multiple occurrences of org.json.JSONObject on the class path:

        jar:file:/C:/Users/Chloe/.m2/repository/org/json/json/20140107/json-20140107.jar!/org/json/JSONObject.class
        jar:file:/C:/Users/Chloe/.m2/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

Here is my pom.xml. The only reference to JSON is

    <!-- https://mvnrepository.com/artifact/org.json/json -->
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
    </dependency>

Apache Maven 3.5.3


Solution

  • Add under

     <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    

    The following exclusion:

     <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>com.vaadin.external.google</groupId>
                <artifactId>android-json</artifactId>
            </exclusion>
        </exclusions>
    

    Similarly, for Gradle projects:

    testCompile("org.springframework.boot:spring-boot-starter-test") {
        exclude group: "com.vaadin.external.google", module:"android-json"
    }