我的 spring boot 应用程序中有以下配置代码:-
@Configuration
@PropertySources({
@PropertySource(value = "file://${CONFIG_PATH}/folder/application.properties"),
@PropertySource(value = "file://${CONFIG_PATH}/folder/application-log.properties"),
@PropertySource(value = "file://${CONFIG_PATH}/folder/application-persistence.properties"),
@PropertySource(value = "file://${CONFIG_PATH}/folder/application-environment.properties")
})
public class PopulateFixturesConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer
propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
以上代码在 Linux 服务器上执行,我在本地机器上安装了 Windows。因此,当我必须进行开发时,我必须进行更改,我必须像这样在文件后添加额外的“/”:
@PropertySource(value = "file:///${CONFIG_PATH}/folder/application-environment.properties")
再次,当我必须提交代码时,我必须删除多余的“/”。
有什么方法可以使路径在 windows 和 linux 上通用。
谢谢,
最佳答案
如果您使用的 Java 大于 Java 7,那么您可以这样做
String configPath= System.getProperty("CONFIG_PATH");
java.nio.file.Path path = java.nio.file.Paths.get(configPath, "some", "dir", "path1", "path2")
java.nio.file.Path 有很多方法可以给你字符串中的绝对路径
如果您使用的 Java 低于 Java 7,则使用 File.separator
关于linux - 如何在 Windows 和 Linux 的@PropertySource 注释中保留通用文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51872731/