by Thomas Kellerer <YQDHXVLMUBXG@[EMAIL PROTECTED]
>
May 7, 2008 at 11:08 AM
wizard of oz, 07.05.2008 10:41:
> I have a need to have a classpath that is determined by the set of jars
> a user places into a directory.
>
> By way of example, placing jar's into certain directories in a tomcat
> web server will cause tomcat to include them into the web applications
> class path. An example of this might be a charting package used by the
> web app to generate charts.
>
> In my specific example, I am building a query tool and I want to be able
> to tell users to simply drop the JDBC drivers into a directory and my
> app will "pick them up". Thus there would be no need to edit the
classpath.
>
> My target environment is Java 6.0
>
You will need to use a URLClassLoader to load the driver(s)
The only problem is then doing the connection as the DriverManager will
refuse to use a driver that was loaded by a different classloader.
You have two options to resolve this:
1) use Connection.connect(String, Properties) directly (bypassing
DriverManager)
2) create a wrapper class that pretends to be a driver but delegates
everything to the real instance (loaded by your own classloader).
I am using option 1) without any problems.
Thomas