使用启动脚本运行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
+0

可惜我不能,因为我使用的Maven的货车插件的sshexec目标使用'须藤-s',所以我不能给任何输入(我的密码)。但我已经解决了我的问题:) – Jelle

+0

是的,在这种情况下,我的解决方案将无法正常工作。您最终可以将永久导出添加到您的shell配置文件(例如'/ root/.bashrc') –