[armedbear-devel] Connection to database via JDBC and classpath
Alex Mizrahi
alex.mizrahi at gmail.com
Fri May 18 12:54:51 UTC 2012
>> I've got it working once using something like java:jclass in SLIME
>> REPL, but not it doesn't seem to work (in a slightly different
>> environment).
>>
>> Note that if jar is added to classpath via java commandline
>> Class.forName will work fine. That's probably the easiest way to get
>> it working.
>> Only loading jar dynamically via classloader is a problem.
> I've also tried that. Started ABCL with 'java -cp $JDBC_JAR abcl.jar'
> and Class.forName still didn't work. Am I missing some parameter?
It looks like you can't use both -cp and -jar.
Here's what works for me:
---
$ java -cp abcl.jar:postgresql.jdbc3.jar org.armedbear.lisp.Main
Armed Bear Common Lisp 1.0.1-svn-13932
Java 1.6.0_20 Sun Microsystems Inc.
OpenJDK 64-Bit Server VM
Low-level initialization completed in 1.024 seconds.
Startup completed in 3.393 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (jstatic "forName" "java.lang.Class" "org.postgresql.Driver")
#<java.lang.Class class org.postgresql.Driver {218C6982}>
CL-USER(6): (java:jstatic "getConnection" "java.sql.DriverManager"
"jdbc:postgresql:jena_test" "alex" "xxxxxx")
#<org.postgresql.jdbc3.Jdbc3Connection
org.postgresql.jdbc3.Jdbc3Connec.... {4FC0CB76}>
---
So, I specify both postgresql and abcl jars in -cp and load class
org.armedbear.lisp.Main (it starts interpreter and repl).
Then, well, it works. I use older version of PostgreSQL driver, but I
think it doesn't really matter.
HTH
More information about the armedbear-devel
mailing list