External library folder for Spring Boot

前端 未结 3 2167
-上瘾入骨i
-上瘾入骨i 2021-02-19 05:23

I wonder how to externalize all jdbc drivers for my Spring Boot applications, I would not like to insert jdbc drivers into my fat jar once the application is built.

Is t

相关标签:
3条回答
  • 2021-02-19 05:56

    CLASSPATH and -classpath will not be working in case of running Spring boot jar file. So there are below options are available:

    • Use -Dloader.path e.g. 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

    • Another option to place other jars into the JRE/lib/ext directory

    • Third option, open Spring Boot Jar with WinRAR application and add the jar file into the Spring Boot jar

    0 讨论(0)
  • 2021-02-19 06:02

    Isn't that what the classpath is for? As long as the jdbc driver jars are on the classpath, this should work. Something like this:

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

    You could also set the CLASSPATH environment variable for the same.

    0 讨论(0)
  • 2021-02-19 06:16

    See the documentation about PropertiesLauncher:

    • https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html#executable-jar-property-launcher-features

    Looks like you can use the loader.path property to define a lib folder location, containing jars to load - in fact the lib folder (inline with the jar) is the default location:

    loader.path (if empty) defaults to lib (meaning a local directory or a nested one if running from an archive)

    0 讨论(0)
提交回复
热议问题