我在我的环境(在bash_profile文件中)设置了一个名为' FLAG'(值为' true')的密钥。我试图通过使用注释值来获得他的价值。 到目前为止,我试图这样做:
@Value("\${FLAG}")
private lateinit var process_flag: String
但没有成功,我收到了错误:
java.lang.IllegalArgumentException: Could not resolve placeholder 'FLAG' in string value "${FLAG}"
*我应该在类中添加任何import \ annotation吗?
答案 0 :(得分:1)
如果未定义变量,请尝试提供默认值:
@Value("${some_property:default_value}")
private String key;
否则,只要未定义some_property,您就会收到异常。
如果这不起作用,您也可以尝试:
@Component
public class SomeClass {
@Value("#{environment.SOME_KEY_PROPERTY}")
private String key;
....
}
答案 1 :(得分:0)
Spring无法看到bash_profile文件中的内容,而是可以访问Jvm系统属性。请尝试以下:
java .... -DFLAG = $ {FLAG}
" DFLAG"是jvm系统属性和"标志"是bash_profile文件中的值。
答案 2 :(得分:0)
对于自定义源位置,请尝试将此注释添加到配置中:
#!/usr/bin/env zsh
pause() read -s -k "?$*"$'\n'
while true; do
echo "print something"
pause "pause"
done
答案 3 :(得分:0)
解决方案:也许这听起来很有趣,但对我来说,解决方案是关闭intellij,当然是在宣布环境变量之后。