I want to make a standalone web application. I have some problems with SpringBoot.
My application is one jar file from SpringBoot.
But my application was usually needed jdbc driver jar. I want to exclude the jdbc driver jar for my application and read the library jar from the lib folder.
But SpringBoot lib folder is BOOT-INF/lib
is final static
. So, I want to add external classpath (lib) for the jdbc driver jar.
How to configure additional classpath in SpringBoot. Is it available?
In the Spring Boot's docs here, about serving static content, it says: By default Spring Boot will serve static content from a directory called /static (or /public or /resources or /META-INF/resources) in the classpath. and all will work fine and I'm happy since I can have my static content under the src directory.
You may refer this below link from spring boot:
https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html#executable-jar-property-launcher-features
You can use the loader.path property to define a lib folder location
You can use the loader.path
parameter to define a location for an external lib folder. All jars under this folder will be added to the classpath. For example, if you'd like to define C:\extLib
as your external lib folder, you can do the following:
java -Dloader.path=/C:/extLib/ -jar aapName.jar
For this to work, you need to use the PropertiesLauncher. There are two ways to do that:
Option 1
Update the project pom.xml and add the following tag:
<configuration> <!-- added --> <layout>ZIP</layout> <!-- to use PropertiesLauncher --> </configuration
Effective build tag, the post-update looks like below:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- added --> <layout>ZIP</layout> <!-- to use PropertiesLauncher --> </configuration> </plugin> </plugins> </build>
Option 2
Use the PropertiesLauncher when launching the application from the commandline:
java -cp aapName.jar -Dloader.path=/C:/extLib/ org.springframework.boot.loader.PropertiesLauncher
References:
How to add jars to SpringBoot classpath with jarlauncher
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With