InvalidPathException mit Spring MockMvc und jsonPath
Die Lösung des Problems
Gerade über eine merkwürdigkeit gestolpert… In der aktuellen Spring-Boot Version 1.3.3-RELEASE bekommt man bei der Nutzung von MockMvc und jsonPath folgende Exception:
java.lang.NoClassDefFoundError: com/jayway/jsonpath/InvalidPathException
at org.springframework.test.web.servlet.result.JsonPathResultMatchers.<init>(JsonPathResultMatchers.java:52)
at org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath(MockMvcResultMatchers.java:192)
... a lot of more lines
Ich bin mir ziemlich sicher, dass das mal anders war. Wie auch immer…jayway.jsonpath fehlt uns im Classpath. Die pragmatische Lösung lautet also die Library selbst in die pom.xml aufzunehmen. In der nächsten Spring-Boot Version ist es bereits wieder im spring-boot-starter-test enthalten. ;)
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<scope>test</scope>
</dependency>
Cheers!