使用启动脚本运行Spring Boot时在Linux上设置环境变量
问题描述:
如何在Linux上使用sudo service myapp run
运行我的Spring Boot应用程序时设置环境变量。目前,它不加载由export MY_VAR=MY_VAL
设置的环境变量。 使用java -jar myapp.jar
,环境变量确实有效。使用启动脚本运行Spring Boot时在Linux上设置环境变量
答
我固定它通过使用下面的命令:sudo MY_VAR=MY_VAL /etc/init.d/myapp run
答
sudo命令开始以root特权时你的Spring启动应用程序。您当前的用户和root用户具有不同的环境变量集。当以root权限启动应用程序时,需要以root用户身份添加env变量。
- 成为超级用户:
sudo -s
并输入您的密码。 - 没有sudo输入导出命令:
export MY_VAR=MY_VAL
可惜我不能,因为我使用的Maven的货车插件的sshexec目标使用'须藤-s',所以我不能给任何输入(我的密码)。但我已经解决了我的问题:) – Jelle
是的,在这种情况下,我的解决方案将无法正常工作。您最终可以将永久导出添加到您的shell配置文件(例如'/ root/.bashrc') –