【问题标题】:How to keep generic filepath in @PropertySource annotation for both windows and linux如何在 Windows 和 linux 的 @PropertySource 注释中保留通用文件路径
【发布时间】:2019-01-23 03:48:56
【问题描述】:

我的 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 都通用。

谢谢,

【问题讨论】:

    标签: linux spring-boot window filepath


    【解决方案1】:

    如果您使用的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 2017-12-17
      • 2018-07-21
      相关资源
      最近更新 更多