坑1. 我首先在windows测试springboot环境变量注入值,在idea中切记要设置管理员打开idea!然后修改环境变量之后需要重启idea才能生效。(我也是傻傻调试了好久)
坑2. 在linux的环境变量分三个级别:
一个是临时环境变量,关闭终端失效,远程连接是打开一个新的终端,因此远程连接的时候不适用这种。
第二个是用户环境变量,仅指定用户和root可以读取。
第三种是系统环境变量,任何用户可以读。
注入失败排查顺序:测试环境变量是否生效(直接terminal打印),不生效先判断是否修改环境变量后reload了,然后再去判断用户权限是否正确。最后才是其他原因。
坑3. linux配置系统服务,是独立的服务环境,无法直接读取系统环境变量!需要在配置服务的文件中声明环境变量,有2种方法:
1. Environment=""可以一次写一条,也可以一条里面写多条,以空格分开不同环境变量。
2. EnvironmentFile=""指定路径,一行代表一个环境变量。
(!!注意区分大小写,不可以写错!)