Not really - you can package the jar file, but the datasource will still be backed by the module that supports the driver registered. This can lead to class cast exceptions. In our environment, we also don't allow applications to alter the JDBC drivers we supply; however, we do let them add modules and run CLI scripts. With that, applications can register their own drivers. So as long as they use a custom name, they can use their own Oracle JDBC drivers (and additional jar files for say the _g debugging versions). The trick is to use the -mp module path to allow you to add module directories and then register the driver and create the datasource using your newly installed ojdbc version.