访问weblogic 10.3.6上的spring boot&application.properties

时间:2017-05-15 09:10:56

标签: java spring spring-boot weblogic

我试图以下列方式访问application.properties中定义的值:

@Value("${server.url}")
private String serverUrl;

它适用于嵌入式tomcat,但是当我将其上传到Weblogic时,我收到以下错误:

  

创建名称为' authorizationServiceImpl':注入的bean时出错   自动连接依赖失败;嵌套异常是   java.lang.IllegalArgumentException:无法解析占位符   ' server.url'在价值" $ {server.url}&#34 ;;嵌套异常是   java.lang.IllegalArgumentException:无法解析占位符   ' server.url'在价值" $ {server.url}"

如何在Weblogic服务器上托管应用程序时使用application.properties文件?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

您永远不应将application-XXX.properties文件特定于已部署组件本身的环境。

你应该总是将它们外化。

因此,要解决丢失的属性文件问题,您只需将属性文件添加到将在weblogic运行时类路径中添加的文件夹中。

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

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

set JAVA_OPTIONS=%JAVA_OPTIONS%

@REM SET THE CLASSPATH

@REM SET THE CLASSPATH替换为

SET CLASSPATH = %CLASSPATH%;yourPropertiesFilesAbsolutePath