如何设置可执行Spring Boot jarfile的JVM属性?
作为后续问题, 如何构建一个Spring Boot jar文件,systemd可以直接作为服务执行? ,如何设置可执行Spring Boot jarfile的JVM属性? 例如,如何设置最大堆大小(即-Xmx2048m
)?
将your-app.conf
your-app.jar
带有内容your-app.jar
旁边
JAVA_OPTS=-Xmx2048M
有关详细信息,请参阅部署脚本自定义指南或launch.script 。
这不是您问题的直接答案,而是解决问题的方法。
我从未选择过可执行jar,因为我相信在app启动时从外部设置参数会更灵活。
这是通过命令行设置JVM系统属性和应用程序属性的方法:
java -Xmx2048m -jar application.jar --paramname="paramvalue"
然后,您可以在Spring Bean或Service中获取参数paramname
,如下所示:
@Value("${paramname}") private String paramname;
您可以在此处详细了解该主题:
http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
编辑
看看这个看起来像你正在寻找的答案:
- 根据1 ,可以在环境变量
_JAVA_OPTIONS
设置JVM属性。 - 根据2 ,环境变量
JAVA_TOOL_OPTIONS
也设置JVM属性。