Java 基于Weblogic环境变量确定Spring引导中的环境
我试图确定应用程序所处的环境,但使用Weblogic在启动时通过以下行设置的环境变量:Java 基于Weblogic环境变量确定Spring引导中的环境,java,spring-boot,weblogic,environment,spring-java-config,Java,Spring Boot,Weblogic,Environment,Spring Java Config,我试图确定应用程序所处的环境,但使用Weblogic在启动时通过以下行设置的环境变量: -Denvironment=DEV 我在下面有一个配置类: package ie.gov.agriculture.cds; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.conte
-Denvironment=DEV
我在下面有一个配置类:
package ie.gov.agriculture.cds;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
@Configuration
@PropertySource("classpath:application.properties")
public class AppConfig {
@Value("${environment}")
private String env;
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
return new PropertySourcesPlaceholderConfigurer();
}
}
在application.properties中,如果我定义属性“environment”,那么它似乎可以工作,但这不是我想要实现的。
看来我需要用指向weblogic服务器的东西替换PropertySource注释值
任何帮助都将不胜感激 如果是环境变量,您可以通过以下方式访问:
String env = System.getProperty("environment");
因此,您不需要在应用程序中将其设置为属性。请尝试用下面的行替换属性。我看到您的代码中缺少
$
@Value("${environment}")
因此,解决方案是,我在weblogic服务器配置中缺少该属性,这就是为什么它没有被拾取的原因 在我的weblogic服务器的domains\%APPCODE%\bin文件夹中的setDomainEnv.cmd文件中,我包含了environment属性 设置JAVA_OPTIONS=-dssoutologin.appcode=%appcode%-Denvironment=DESKTOP 然后,Spring可以使用
@Value(“${environment}”)
注释来获取该值
希望这对其他人有帮助 哦,那是个打字错误,对不起。现在编辑。