我试图以下列方式访问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文件?
答案 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