java运行jar包时候加载指定目录的jar包

581 阅读1分钟

最近涉及到一个任务,需要把springboot项目的数据库驱动包打包在jar外,方便更换不同的驱动包。折腾了好久,最终找到了一个可行的方法,记录一下。

java -Djava.ext.dirs=./lib -jar database-service-4.0.0.jar

-Djava.ext.dirs=./lib,这里会加载database-service-4.0.0-SNAPSHOT.jar所在目录下的lib目录里面的所有jar

如果要加载日志文件,则需要在后面增加一个参数 --logging.config

java -Djava.ext.dirs=./lib -jar database-service-4.0.0.jar --logging.config=config/log4j2-prod.xml

注意: 这个只在windows测试