If it would be up to me, I would try to get rid of pre-processing if any possible, since it is a real p.i.t.a., as long as we can find a different solution to provide the same number of supported JDKs and JDBC versions.
The question is: How? Possibly by simply using "JRE8-JDBC42.jar" ALWAYS?
Has anybody tried whether it is possible to simply load a JRE8-JDBC42.jar on JRE6? I mean, not to actually invoke the new JDBC42 APIs, just to load the JAR and invoke the JDBC3 APIs only for example. The APIs themselved are backwards compatible, and as long as we don't invoke the new APIs, no ClassNotFound should happen (AFAIK the JRE loads classes only at first actual instantiation, but not simply because it is contained in a loaded .class file as a parameter). I mean, as long as we do not use JRE8-only APIs inside the Driver, and as long as we don't write the .class files in JRE8 byte code, certainly.
Or did I miss something in this theoretical approach?