Instead of copying Drill jar to SQuirreL's lib folder, you may want to copy it in a separate folder and add it in the extra classpath location in the driver configuration.
This will ensure that SQuirreL's boot classloader does not get conflicting classes. On Tue, Dec 2, 2014 at 5:20 PM, Li HM <[email protected]> wrote: > MacOS Yosemite > > On Tue, Dec 2, 2014 at 5:09 PM, Andries Engelbrecht > <[email protected]> wrote: > > Have not looked at 0.7 yet, but 0.6r2 worked. > > > > What OS are you using? > > > > > > On Dec 2, 2014, at 4:11 PM, Li HM <[email protected]> wrote: > > > >> I am following > http://doc.mapr.com/display/MapR/Using+JDBC+to+Access+Apache+Drill+from+SQuirreL > >> to set up the jdbc driver with SquirreL. > >> > >> > >> Once I copy over drill-jdbc-all-0.7.0-incubating-SNAPSHOT.jar to the > >> SQuirreL lib directory, I got the following exception > >> > >> Exception in thread "main" java.lang.NoSuchMethodError: > >> org.apache.log4j.Logger.getRootLogger()Lorg/apache/log4j/Logger; > >> at > org.apache.log4j.BasicConfigurator.configure(BasicConfigurator.java:46) > >> at > net.sourceforge.squirrel_sql.fw.util.log.Log4jLoggerFactory.<init>(Log4jLoggerFactory.java:149) > >> at > net.sourceforge.squirrel_sql.fw.util.log.Log4jLoggerFactory.<init>(Log4jLoggerFactory.java:31) > >> at > net.sourceforge.squirrel_sql.fw.util.log.LoggerController.<clinit>(LoggerController.java:27) > >> at > net.sourceforge.squirrel_sql.fw.util.StringManager.<clinit>(StringManager.java:38) > >> at > net.sourceforge.squirrel_sql.fw.util.StringManagerFactory.getStringManager(StringManagerFactory.java:60) > >> at > net.sourceforge.squirrel_sql.client.Version.<clinit>(Version.java:34) > >> at net.sourceforge.squirrel_sql.client.Main.main(Main.java:60) > >> > >> If I replace the log4j.jar with the one from drill, I get > >> Exception in thread "main" java.lang.IncompatibleClassChangeError: > >> Implementing class > >> at java.lang.ClassLoader.defineClass1(Native Method) > >> at java.lang.ClassLoader.defineClass(ClassLoader.java:800) > >> at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > >> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) > >> at java.net.URLClassLoader.access$100(URLClassLoader.java:71) > >> at java.net.URLClassLoader$1.run(URLClassLoader.java:361) > >> at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > >> at java.security.AccessController.doPrivileged(Native Method) > >> at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > >> at java.lang.ClassLoader.loadClass(ClassLoader.java:425) > >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) > >> at java.lang.ClassLoader.loadClass(ClassLoader.java:358) > >> at > net.sourceforge.squirrel_sql.client.SquirrelLoggerFactory.<init>(SquirrelLoggerFactory.java:47) > >> at net.sourceforge.squirrel_sql.client.Main.startApp(Main.java:80) > >> at net.sourceforge.squirrel_sql.client.Main.main(Main.java:73) > >> > >> > >> Any suggestions? > >> > >> Thanks in advance. > > >
