有时候我们需要更改 SpringBoot 应用 Jar 包的配置文件内容,第一反应是先解压, 修改解压后的文件内容,然后再重新打包。
就是先 unzip,然后再用 jar 命令指定Manifest文件(在manifest文件中指定Main-Class)或者直接指定执行的类来重新打包。
简单一点的方法是 解压出来 jar 包中的配置文件, 更新配置文件, 然后使用 jar 命令来更新原始 jar包中的配置文件:
这样3个命令, 完成了更新 my-boot-app.jar 文件中的 application-production.properties 文件中的配置。
unzip ../my-boot-app.jar
vim BOOT-INF/classes/application-production.properties
jar uf ../my-boot-app.jar BOOT-INF/classes/application-production.properties
当然如果只是想要更改配置项来启动应用,完全可以不用更新 jar 包里面的内容, 而是在启动的时候直接指定配置文件。
java -jar my-boot-app.jar -Dspring.config.location=application-production-new.properties
Jar 命令的用法可以参考:
https://www.baeldung.com/java-create-jar
spring boot 配置的用法:
https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html