是否可以从另一个Maven项目访问属性值?

问题描述 投票:1回答:1

我有一个SpringBoot服务:

package test;

@Service
public class TestService {

  @Value("${service.readTimeout}")
  private Duration readTimeout;
}

service.readTimeout在当前项目的属性文件中未声明。 它链接在一个单独的项目中,这些项目都标记为Maven模块。

此项目如何访问其他属性文件中的值?

该项目为未列出为依赖项或在pom.xml中针对使用该值的项目进行了提及。

Maven是否连接所有声明的模块?是否可以从所有项目访问所有文件?

这里发生了什么?

java spring spring-boot maven properties-file
1个回答
0
投票

要获取外部资源,您可以使用FileSystemResource,例如,我有两个项目demodemo2

enter image description here

所以我想从demo访问demo2 application.properties,因此您可以使用以下代码:

Resource resource = new FileSystemResource("absolute path");
// for example : C:\\Users\\Developper\\eclipse workspace\\demo\\src\\main\\resources\\application.properties

Properties props = PropertiesLoaderUtils.loadProperties(resource);
System.out.println(props); 
© www.soinside.com 2019 - 2024. All rights reserved.