Hi there, based on the latest debate in the devlist, I'm trying to play with Geb. The Book of Geb quite explicitly says that all I need is geb-core jar, a WebDriver driver implementation and the selenium-support jar <https://gebish.org/manual/current/#installation-usage>, nevertheless, it does not seem so; it looks like the geb-core JAR does not contain GebException:
=== 1065 ocs /tmp> <geb.groovy import geb.Browser Browser.drive { to GebHomePage manualsMenu.open() manualsMenu.links[0].click() at TheBookOfGebPage } 1066 ocs /tmp> ls -l *.jar -rw-r--r--@ 1 ocs wheel 750068 Oct 17 17:24 geb-core-7.0.jar -r-xr-xr-x@ 2 ocs staff 174337 Jan 1 2010 selenium-support-4.25.0.jar* 1067 ocs /tmp> /usr/local/groovy-4.0.21/bin/groovy -cp geb-core-7.0.jar:selenium-support-4.25.0.jar -d geb Caught: java.lang.NoClassDefFoundError: geb/error/GebException ... ... ... 1068 ocs /tmp> unzip -l geb-core-7.0.jar|fgrep GebException 1069 ocs /tmp> === What do I do wrong? Thanks! OC === full stack in case it helps, which I seriously doubt: 1067 ocs /tmp> /usr/local/groovy-4.0.21/bin/groovy -cp geb-core-7.0.jar:selenium-support-4.25.0.jar -d geb Caught: java.lang.NoClassDefFoundError: geb/error/GebException java.lang.NoClassDefFoundError: geb/error/GebException at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458) at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451) at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:143) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137) at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2357) at org.codehaus.groovy.reflection.CachedClass$2.lambda$initValue$4(CachedClass.java:68) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.codehaus.groovy.reflection.CachedClass.doPrivileged(CachedClass.java:160) at org.codehaus.groovy.reflection.CachedClass.access$000(CachedClass.java:45) at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:73) at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:63) at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:50) at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:37) at org.codehaus.groovy.reflection.CachedClass.getConstructors(CachedClass.java:276) at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:232) at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:242) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:166) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:156) at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:139) at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:271) at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:314) at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:269) at org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.getMetaClass(Selector.java:575) at org.codehaus.groovy.vmplugin.v8.Selector$MethodSelector.setCallSiteTarget(Selector.java:1020) at org.codehaus.groovy.vmplugin.v8.IndyInterface.fallback(IndyInterface.java:360) at org.codehaus.groovy.vmplugin.v8.IndyInterface.access$000(IndyInterface.java:50) at org.codehaus.groovy.vmplugin.v8.IndyInterface$FallbackSupplier.get(IndyInterface.java:282) at org.codehaus.groovy.vmplugin.v8.IndyInterface.lambda$fromCache$1(IndyInterface.java:304) at org.codehaus.groovy.vmplugin.v8.CacheableCallSite.getAndPut(CacheableCallSite.java:70) at org.codehaus.groovy.vmplugin.v8.IndyInterface.lambda$fromCache$2(IndyInterface.java:301) at org.codehaus.groovy.vmplugin.v8.IndyInterface.doWithCallSite(IndyInterface.java:376) at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:298) at geb.run(geb.groovy:2) at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:287) at groovy.lang.GroovyShell.run(GroovyShell.java:393) at groovy.lang.GroovyShell.run(GroovyShell.java:382) at groovy.ui.GroovyMain.processOnce(GroovyMain.java:649) at groovy.ui.GroovyMain.run(GroovyMain.java:389) at groovy.ui.GroovyMain.access$1400(GroovyMain.java:67) at groovy.ui.GroovyMain$GroovyCommand.process(GroovyMain.java:313) at groovy.ui.GroovyMain.processArgs(GroovyMain.java:141) at groovy.ui.GroovyMain.main(GroovyMain.java:114) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:115) at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:37) Caused by: java.lang.ClassNotFoundException: geb.error.GebException at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:180) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:148) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 56 more