Java 安装弹簧防尘套';weblogic 10.3.6上的s application.properties

Java 安装弹簧防尘套';weblogic 10.3.6上的s application.properties,java,spring,spring-boot,weblogic,Java,Spring,Spring Boot,Weblogic,我正在尝试通过以下方式访问application.properties中定义的值: @Value("${server.url}") private String serverUrl; 它在嵌入式tomcat上工作,但当我将其上传到Weblogic时,我得到以下错误: 创建名为“authorizationServiceImpl”的bean时出错:注入 自动连线依赖失败;嵌套异常是 java.lang.IllegalArgumentException:无法解析占位符 值“${server.url}

我正在尝试通过以下方式访问application.properties中定义的值:

@Value("${server.url}")
private String serverUrl;
它在嵌入式tomcat上工作,但当我将其上传到Weblogic时,我得到以下错误:

创建名为“authorizationServiceImpl”的bean时出错:注入 自动连线依赖失败;嵌套异常是 java.lang.IllegalArgumentException:无法解析占位符 值“${server.url}”中的“server.url”;嵌套异常是 java.lang.IllegalArgumentException:无法解析占位符 值“${server.url}”中的“server.url”


在Weblogic server上托管应用程序时,如何使用application.properties文件?

您不应将特定于某个环境的application-XXX.properties文件放置在部署的组件本身中。

您应该始终将它们外部化。

因此,要解决缺少属性文件的问题,只需将属性文件添加到将添加到weblogic运行时类路径中的文件夹中即可。

您可以设置域的
setDomainEnv.cmd/sh
文件并 在CLASSPATH变量中添加文件夹路径。

例如,在Weblogic(11、12和其他较旧版本,但不确定)中,在
setDomainEnv.cmd
中,您应该可以找到以下几行:

set JAVA_OPTIONS=%JAVA_OPTIONS%

@REM SET THE CLASSPATH
替换
@REM将类路径设置为

SET CLASSPATH = %CLASSPATH%;yourPropertiesFilesAbsolutePath

我发现,如果要在weblogic 10.3.6上使用外部属性,需要将文件放在所需位置,并使用以下注释在configuration/startup类中设置属性源:

@PropertySource(value = { "file:/...domains/MYdomain/application.properties" })

应用程序属性中放置的内容可能重复?server.url的值在该文件中。应用程序本身必须在weblogic服务器上作为.war运行。