Errors
cannot find symbol
symbol: class Matchers
location: package org.hamcrest
cannot find symbol
symbol: method instanceOf(java.lang.Class<java.lang.IllegalArgumentException>)
cannot find symbol
symbol: method containsString(java.lang.String)
The dependency tree from Maven shows up like this...
Maven Dependency Tree
[INFO] +- junit:junit:jar:4.12:test
[INFO] \- org.hamcrest:hamcrest-core:jar:1.3:test
As expected, but incomplete. After checking the Hamcrest Distributables page it becomes clear that the hamcrest-core is the bare minimum dependency and doesn't include the required matchers and supporting classes. What's required is the hamcrest-library dependency. This is easily resolved, just add this to your pom.xml file...
pom.xml
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
The dependency tree now looks like this and all of the compilation errors are fixed!
Maven Dependency Tree
[INFO] +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- junit:junit:jar:4.12:test
-i