Spring 引导的外部库文件夹
External library folder for Spring Boot
我想知道如何为我的 Spring 启动应用程序外部化所有 jdbc 驱动程序,我不想在构建应用程序后将 jdbc 驱动程序插入我的 fat jar。
有什么方法可以设置一个 java vm 参数,通知哪个外部文件夹应该包含在 jar 执行中?或者可能存在某种 spring 属性。
例如:
java -DLib=file:\\c:\Drivers -jar sample.jar
这不是类路径的作用吗?只要 jdbc 驱动程序 jar 在类路径中,就应该可以工作。像这样:
java -classpath /path/to/driver/jar -jar application.jar
您也可以为此设置 CLASSPATH 环境变量。
请参阅有关 PropertiesLauncher 的文档:
看起来您可以使用 loader.path
属性 定义一个包含要加载的 jar 的 lib 文件夹位置——实际上 lib 文件夹(与 jar 内联)是默认位置:
loader.path (if empty) defaults to lib (meaning a local directory or a nested one if running from an archive)
CLASSPATH 和 -classpath 在 运行 Spring 引导 jar 文件的情况下将不起作用。所以有以下选项可用:
使用 -Dloader.path 例如
java -cp MyOwn.jar -Dloader.path=C:\Sandeep\lib -Dconsole.level=INFO -Dloader.main=abc.Main org.springframework.boot.loader.PropertiesLauncher --spring.config.name=申请
将其他 jar 文件放入 JRE/lib/ext 目录的另一种选择
第三个选项,用 WinRAR 应用程序打开 Spring Boot Jar 并将 jar 文件添加到 Spring Boot jar
我想知道如何为我的 Spring 启动应用程序外部化所有 jdbc 驱动程序,我不想在构建应用程序后将 jdbc 驱动程序插入我的 fat jar。
有什么方法可以设置一个 java vm 参数,通知哪个外部文件夹应该包含在 jar 执行中?或者可能存在某种 spring 属性。
例如:
java -DLib=file:\\c:\Drivers -jar sample.jar
这不是类路径的作用吗?只要 jdbc 驱动程序 jar 在类路径中,就应该可以工作。像这样:
java -classpath /path/to/driver/jar -jar application.jar
您也可以为此设置 CLASSPATH 环境变量。
请参阅有关 PropertiesLauncher 的文档:
看起来您可以使用 loader.path
属性 定义一个包含要加载的 jar 的 lib 文件夹位置——实际上 lib 文件夹(与 jar 内联)是默认位置:
loader.path (if empty) defaults to lib (meaning a local directory or a nested one if running from an archive)
CLASSPATH 和 -classpath 在 运行 Spring 引导 jar 文件的情况下将不起作用。所以有以下选项可用:
使用 -Dloader.path 例如 java -cp MyOwn.jar -Dloader.path=C:\Sandeep\lib -Dconsole.level=INFO -Dloader.main=abc.Main org.springframework.boot.loader.PropertiesLauncher --spring.config.name=申请
将其他 jar 文件放入 JRE/lib/ext 目录的另一种选择
第三个选项,用 WinRAR 应用程序打开 Spring Boot Jar 并将 jar 文件添加到 Spring Boot jar