Java Spring引用相对于jar文件的PropertySource

时间:2017-03-01 03:18:13

标签: java spring gradle jar

我希望能够从应用程序jar文件外部配置一些外部配置文件。配置文件正在使用@PropertySource加载,类似于您在下面看到的内容;

@PropertySource("classpath:configuration/myFile.properties)

应用程序位于与此配置目录相对较远的目录中,如下所示。

\Workingdirectory
--\configuration
+++myfile.properties
--myApp.jar

如何设置类路径以期望这个相对放置的目录?

2 个答案:

答案 0 :(得分:1)

您可以使用"文件:"架构以关联外部资源

PropertySource("file:${app.home}/app.properties")

答案 1 :(得分:0)

@PropertySource("文件:app.properties&#34)

在maven项目(没有模块)项目的根目录中,您通常会找到pom.xml

在maven项目(具有多个模块)中,主项目的文件夹。如果你有这样的例子:

- my-project (located in /home/you/git/)
  - my-webapp
    - src
      + main
      + test
    pom.xml
  + library1
  + library2
  pom.xml
  app.properties <-- this is used

 localhost[/home/you/git/my-project]# mvn tomcat:run

@PropertySource(&#34; app.properties&#34)

在maven项目中(没有模块)表示当前的类加载器类路径(通常位于src/main/resources)。

@PropertySource(&#34;文件:/app.properties")

在窗口中表示C:\app.properties