Springboot、Tomcat启动加载外部指定文件夹下的jar文件

背景

 把项目中的公共jar包提取出来,放到自定义lib库文件夹中,方便统一分布式项目中依赖的jar版本,springboot是jar方式启动,Tomcat是直接start启动,加载外部jar的方式不同,下面分别介绍两种配置

配置

springboot

maven配置

主要是配置一个plugin,mainClass是启动类的全名,layout需要指定为zip

layout可以指定的类型有jar、war、和zip

这三种在maven打包之后生成的jar文件中的结构不同,下图是zip方式打包出来的格式

Springboot、Tomcat启动加载外部指定文件夹下的jar文件_第1张图片 

 可以看出launcher使用的是org.springframework.boot.loader.PropertiesLauncher

jar方式对应的是JarLauncher

war方式对应的是WarLauncher 

通过zip方式在启动时可以指定外部文件夹地址


    org.springframework.boot
    spring-boot-maven-plugin
    
        com.xxx.Application
        ZIP
    
    
        
            
                repackage
            
        
    

启动

通过指定loader.path加载外部资源库

java -Dloader.path=/home/java/mylib -jar xx.jar

Tomcat配置

catalina.properties

修改conf文件夹下的catalina.properties文件

修改common.loader的值,在最后添加上外部资源库的地址

common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","/home/java/mylib/*.jar"

 启动正常启动即可

你可能感兴趣的:(tomcat,spring,boot,jar)