这可能是一个非常简单的问题,但我找不到答案googleing而且我很匆忙 - 所以我很欣赏快速代码示例.
我想在OS上使用Java代码阅读的OS上有一个环境变量.我试过了System.getProperty,但这似乎只适用于-D直接为JVM提供的变量.
我的Java代码如何读取操作系统变量?
我是java和spring框架的新手。我的问题是如何将 OS(ubuntu) 环境变量注入 spring boot bean。我试过的:
@Configuration
@EnableWebMvc
public class CorsConfig implements WebMvcConfigurer {
@Value("${COMPONENT_PARAM_CORS}")
private String COMPONENT_PARAM_CORS;
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/"+COMPONENT_PARAM_CORS);
}
}
Run Code Online (Sandbox Code Playgroud)
导出 COMPONENT_PARAM_CORS=**
打印环境
告诉我它存在,但是当我尝试 mvn clean install 时:发生错误
java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'corsConfig': Injection of autowired dependencies
failed; nested exception is java.lang.IllegalArgumentException: Could not
resolve placeholder 'COMPONENT_PARAM_CORS' in value "${COMPONENT_PARAM_CORS}"
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder
'COMPONENT_PARAM_CORS' in value "${COMPONENT_PARAM_CORS}"
Run Code Online (Sandbox Code Playgroud)
然后我的单元测试也下降了(我试图搜索这个错误,但所有主题都是旧的并且使用来自 application.properties 的参数,但我需要使用 …