3

I'm just starting out with Geb and am encountering this error when inputting sample code from the Book of Geb:

import geb.Browser


Browser.drive {
    go "http://google.com/ncr"

    // make sure we actually got to the page
    assert title == "Google"

    // enter wikipedia into the search field
    $("input", name: "q").value("wikipedia")

    // wait for the change to results page to happen
    // (google updates the page dynamically without a new request)
    waitFor { title.endsWith("Google Search") }

    // is the first link to wikipedia?
    def firstLink = $("li.g", 0).find("a.l")
    assert firstLink.text() == "Wikipedia"

    // click the link
    firstLink.click()

    // wait for Google's javascript to redirect to Wikipedia
    waitFor { title == "Wikipedia" }
}

I am encountering this exception:

Caught: java.lang.IncompatibleClassChangeError: the number of constructors during runtime and compile time for java.lang.Exception do not match. Expected 4 but got 5
    at geb.error.GebException.<init>(GebException.groovy:20)
    at geb.waiting.WaitTimeoutException.<init>(WaitTimeoutException.groovy:30)
    at geb.waiting.Wait.waitFor(Wait.groovy:108)
        .......

Any ideas? Thanks!

tim_yates
  • 167,322
  • 27
  • 342
  • 338
hnaderi
  • 409
  • 8
  • 16

2 Answers2

12

Are you using Java 7 by any chance? Groovy code that uses exceptions that was compiled with < Java 7 is not compatible with Java 7.

user972785
  • 136
  • 1
  • 2
  • Yes I believe I am using RE7 - thank you so much, will try and update – hnaderi Oct 19 '11 at 20:34
  • not getting that error anymore - thanks for the info! is that documented anywhere by any chance? – hnaderi Oct 19 '11 at 21:19
  • See [this blog post](http://blog.proxerd.pl/article/how-to-fix-incompatibleclasschangeerror-for-your-groovy-projects-running-on-jdk7) for more information. – GreenGiant Mar 05 '13 at 00:35
1

Geb is compatible with Java7 as of 0.7.1. If you are below that you should upgrade. SEe: http://jira.codehaus.org/browse/GEB-194

34m0
  • 5,755
  • 1
  • 30
  • 22