Spring Boot的外部库文件夹

时间:2015-06-10 00:29:19

标签: java spring spring-mvc spring-boot

我想知道如何为我的Spring Boot应用程序外部化所有jdbc驱动程序,我不想在构建应用程序后将jdbc驱动程序插入到我的胖jar中。

有没有办法设置java vm参数,通知jar执行包含哪个外部文件夹?或者可能存在某种弹簧属性。

例如:

java  -DLib=file:\\\c:\Drivers -jar sample.jar

3 个答案:

答案 0 :(得分:9)

请参阅有关PropertiesLauncher的文档:

看起来你可以使用loader.path属性来定义一个lib文件夹位置,包含要加载的jar文件 - 实际上lib文件夹(与jar内联)是默认位置:

  

loader.path(如果为空)默认为lib(表示本地目录或嵌套的目录,如果从存档运行)

答案 1 :(得分:0)

CLASSPATH 和 -classpath 在运行 Spring boot 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=application< /p>

  • 另一种将其他 jars 放入 JRE/lib/ext 目录的选项

  • 第三个选项,用 WinRAR 应用程序打开 Spring Boot Jar 并将 jar 文件添加到 Spring Boot jar 中

答案 2 :(得分:-2)

不是类路径的用途吗?只要jdbc驱动程序jar在类路径上,这应该可行。像这样:

java -classpath /path/to/driver/jar -jar application.jar

您也可以为其设置CLASSPATH环境变量。