Java 可执行jar中的Spring Boot Web应用程序-客户如何提供独立的jdbc驱动程序?

Java 可执行jar中的Spring Boot Web应用程序-客户如何提供独立的jdbc驱动程序?,java,spring-boot,jdbc,classpath,executable-jar,Java,Spring Boot,Jdbc,Classpath,Executable Jar,我正在使用SpringBoot构建一个web应用程序,目标是拥有一个可执行的jar,客户无需部署到TomcatWeb服务器即可运行 此web应用程序使用jdbc数据库连接,客户只需提供jdbc驱动程序jar即可使用自己选择的数据库 然而,可执行jar不允许使用-cp或-classpath,那么客户如何才能最好地将他们的jdbc数据库驱动程序jar提供给我的SpringBootWeb应用程序呢?是否有人遇到过类似的问题并找到了解决方法,而没有将所有可能的jdbc驱动程序打包到web应用程序jar中

我正在使用SpringBoot构建一个web应用程序,目标是拥有一个可执行的jar,客户无需部署到TomcatWeb服务器即可运行

此web应用程序使用jdbc数据库连接,客户只需提供jdbc驱动程序jar即可使用自己选择的数据库


然而,可执行jar不允许使用-cp或-classpath,那么客户如何才能最好地将他们的jdbc数据库驱动程序jar提供给我的SpringBootWeb应用程序呢?是否有人遇到过类似的问题并找到了解决方法,而没有将所有可能的jdbc驱动程序打包到web应用程序jar中?

您可以使用Spring Boot的
属性Launcher
及其
loader.path属性来指向用户可以添加jdbc驱动程序jar的外部目录。您可以在中了解有关
PropertiesLauncher
及其
loader.path
属性的更多信息,而不是使用可执行JAR编写脚本/批处理文件并在其中设置类路径。应该使用这个脚本来运行应用程序,大多数应用程序都是这样做的,例如:Tomcat、Karaf、Maven。如果您不想这样做,那么可以动态加载驱动程序JAR文件。向用户显示一个弹出窗口来选择JAR,并让用户选择其中的驱动程序类,这是在SquirrelSQL客户机中完成的。它是开源的,所以你可以从中回收代码。