title: Eclipse - Shazamcrest - java.lang.NoSuchFieldError: NONE
body: <p>I'm getting this error in Eclipse STS 3.6.3.  I have basic Hamcrest calls working after removing the hamcrest jar from the eclipse plugins dir.  From what I can tell, it's using hamcrest 1.3 and JUnit 4.  I looked in Run > Run Configurations > myTest > Source Tab > Defaults and I see the hamcrest 1.3 jar from my local maven repo.</p>
  
  <p>It works using mvn command line, but not in eclipse.</p>
  
  <p>Any idea what's going on here and how I can fix?</p>
  
  <pre><code>@Test
  public void testShazamcrestMap() throws Exception {
      HashMap&lt;String,String&gt; item = new HashMap&lt;String,String&gt;(); 
      HashMap&lt;String,String&gt; item2 = new HashMap&lt;String,String&gt;();
  
      item.put("foo", "bar");
      item2.put("foo", "bar");
  
      assertThat(item, sameBeanAs(item2));
  }
  </code></pre>
  
  <blockquote>
    <p>java.lang.NoSuchFieldError: NONE
        at org.hamcrest.DiagnosingMatcher.matches(DiagnosingMatcher.java:12)
        at com.shazam.shazamcrest.MatcherAssert.assertThat(MatcherAssert.java:40)
        at com.shazam.shazamcrest.MatcherAssert.assertThat(MatcherAssert.java:29)
        at com.nick.feed.test.SomeUnitTest.testShazamcrestMap(SomeUnitTest.java:49)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
        at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)</p>
  </blockquote>