java.io.FileNotFoundException: /home/ec2-user/src/main/resources/keystore.jks (такого файла или каталога нет) - PullRequest
0 голосов
/ 25 апреля 2018

У меня проблема со ссылкой на файл в моем jar-файле, а именно на keystore.jks.Я сохранил файл внутри файла ресурсов, но, кажется, когда я пытаюсь запустить проект springboot, файл не подхвачен.

Я получаю эту ошибку:

java.io.FileNotFoundException: /home/ec2-user/src/main/resources/keystore.jks (No such file or directory)

Это мои приложения.файл свойств:

server.ssl.key-store=src/main/resources/keystore.jks
server.ssl.key-store-password=mypassword
server.ssl.keyStoreType=JKS
server.ssl.keyAlias=my_alias

Это моя структура проекта:

enter image description here

Ответы [ 4 ]

0 голосов
/ 25 апреля 2018

У меня была такая же проблема. Мое решение

мой файл application.properties:

jvm:
    key-store-type: PKCS12
    key-store: banking.p12
    key-store-password: aWRldmh1YlU=

Это структура моего проекта

И мой ключевой загрузчик магазина

public InputStream getKeyStoreStream(String resourceName) {
    ClassLoader loader = Thread.currentThread().getContextClassLoader();
    return loader.getResourceAsStream(resourceName);
}

И нагрузка

    @Value("${jvm.trust-store}")
    private String JVM_TRUST_STORE;

    @Value("${jvm.key-store}")
    private String JVM_KEY_STORE;

keysP12 = KeyStore.getInstance("PKCS12");
keysP12.load(getKeyStoreStream(JVM_KEY_STORE), keyStorePassword);

Я думаю, что для JKS так же

keysJks = KeyStore.getInstance("JKS");
keysJks.load(getKeyStoreStream(JVM_TRUST_STORE), trustStorePassword);
0 голосов
/ 25 апреля 2018

Ваше приложение начинается с /home/ec2-user/. Вы должны установить server.ssl.key-store путь относительно /home/ec2-user/

0 голосов
/ 25 апреля 2018

Для чтения из файла ресурса:

Applications.properties

server.ssl.key-store=keystore.jks

Java

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource(prop.getProperty("server.ssl.key-store")).getFile());
0 голосов
/ 25 апреля 2018

Попробуйте использовать:

server.ssl.key-store=classpath:keystore.jks

Документация: docs.spring.io .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...