I want to make standalone web application. I have some problem with SpringBoot.
My application is one jar file from SpringBoot.
But my application was usually needed jdbc driver jar. I want to exclude jdbc driver jar for my application. I want to read library jar from lib folder.
But SpringBoot lib folder is BOOT-INF/lib
is final static
.
So, I want to add external classpath (lib) for jdbc driver jar.
How to configure additional classpath in SpringBoot. Is it available?
You may refer this below link from spring boot:
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, 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: https://mash213.wordpress.com/2017/01/05/hack-how-2-add-jars-2-springboot-classpath-with-jarlauncher/
来源:https://stackoverflow.com/questions/40499548/how-to-configure-additional-classpath-in-springboot