Rundeck(RHEL RPM安装):如何使用不同的JDBC驱动
替换Rundeck可执行WAR版的SQL Server JDBC驱动方案
方法一:启动时指定外部驱动路径(推荐)
- 下载对应版本的SQL Server JDBC驱动jar包(比如
mssql-jdbc-12.4.2.jre8.jar),放到自定义目录,例如/opt/rundeck/custom-lib - 根据你的Rundeck启动方式修改配置:
- Systemd服务:编辑
/usr/lib/systemd/system/rundeckd.service,找到ExecStart行,添加-Dloader.path参数,示例:
修改后执行ExecStart=/usr/bin/java -Dloader.path=/opt/rundeck/custom-lib -jar /var/lib/rundeck/rundeck.warsystemctl daemon-reload和systemctl restart rundeckd生效 - Init.d脚本:编辑
/etc/init.d/rundeckd,找到启动Java命令的段落,同样添加-Dloader.path=/opt/rundeck/custom-lib参数,之后执行service rundeckd restart
- Systemd服务:编辑
- 原理:Spring Boot可执行WAR支持
loader.path参数,指定目录下的jar包会优先加载,覆盖WAR内置的旧驱动
方法二:配置Rundeck外部库目录
- 编辑Rundeck配置文件
/etc/rundeck/rundeck-config.properties,添加或修改以下配置:framework.lib.dir=/opt/rundeck/custom-lib - 将下载的JDBC驱动jar包放到该目录
- 重启Rundeck服务,该目录下的jar会被加入类路径,优先级高于WAR内置驱动
方法三:临时命令行启动测试
如果想先验证新驱动是否可用,可直接用命令行启动:
java -cp /opt/rundeck/custom-lib/mssql-jdbc-*.jar:/var/lib/rundeck/rundeck.war org.springframework.boot.loader.WarLauncher
确认没问题后再修改永久启动配置
注意事项
- 确保驱动版本与Rundeck使用的Java版本兼容(比如SQL Server驱动12.x及以上需要Java 8+)
- 操作前备份原WAR文件和配置文件,避免意外
- 重启后可查看
/var/log/rundeck/service.log日志,确认驱动加载情况
内容的提问来源于stack exchange,提问作者Frank
相关产品推荐
相关产品推荐

