轻松加载外部Jar,实现SpringBoot功能灵活扩展
轻松加载外部 Jar,实现 SpringBoot 功能按需扩展
在 SpringBoot 项目迭代中,常需通过引入外部 Jar 包实现功能扩展(如自定义工具类、第三方组件封装等)。但默认java -jar
启动方式下-cp
参数失效,如何轻松加载外部 Jar、实现功能按需增减?本文带你一步步搞定。
一、核心痛点:为何需要特殊配置加载外部 Jar?
SpringBoot 项目默认打成可执行 Jar 包,启动命令为java -jar xxx.jar
。此时 JVM 优先读取 Jar 包内部依赖(BOOT-INFO/lib
目录下),外部通过-cp
指定的 Jar 包完全无效。
若想按需扩展功能(比如不同环境加载不同加密 Jar、临时集成第三方 SDK),就需要借助loader.path
参数指定外部 Jar 路径 —— 但该参数生效有个关键前提:必须将启动类切换为 PropertiesLauncher。
外部jar包准备
<?xml version="1.0" encoding="UTF-8"?>