application.yml

时间:2016-08-19 23:44:02

标签: spring-boot path

我遇到了一些麻烦,以便在我的spring boot app的application.yml中指定某些资源的绝对路径。

使用相对路径工作正常,我将这些文件放在src / main / resources / key下,配置如下:

public:
  encryption:
    key: keys\encrypt\public_enc_asn1.key
  decryption:
    key: keys\decrypt\public_dec_asn1.key
private:
  decryption:
    key: keys\decrypt\private_dec_asn1.key

我正在使用Windows。我把相同的文件放在C:\ test \下,在application.yml中使用以下配置,但它们不起作用:

public:
  encryption:
    key: C:\test\encrypt\public_enc_asn1.key
  decryption:
    key: C:\test\decrypt\public_dec_asn1.key
private:
  decryption:
    key: C:\test\decrypt\private_dec_asn1.key

如何在application.yml中指定windows绝对路径?我也试过${user.home}选项,但没有运气。

2 个答案:

答案 0 :(得分:3)

错误是您的值中的分号(如C:\test\...中所示)。你需要用引号括起你的价值:

public:
  encryption:
    key: 'C:\test\encrypt\public_enc_asn1.key'
  decryption:
    key: 'C:\test\decrypt\public_dec_asn1.key'
private:
  decryption:
    key: 'C:\test\decrypt\private_dec_asn1.key'

答案 1 :(得分:1)

我正在使用 Spring Boot 在 Kafka 上进行一个项目,但在提供绝对路径时出现错误。如上所述,我使用单引号尝试了 alexbt 的解决方案,但它对我不起作用。

在路径开头用单引号添加 file:\ 效果很好。

ssl:
    trust-store-location: 'file:\F:\Spring-boot-projects\Kafka\ssl\client.truststore.jks'
    trust-store-password: 12345678
    key-store-location: 'file:\F:\Spring-boot-projects\Kafka\ssl\client.keystore.jks'
    key-store-password: 12345678