Обзор:Проблема в доступе файл ресурсов Спринг загрузки приложений в Linux
Я использую следующий код для создания хранилища ключей из файла сертификата, который находится в ресурсы/сертификаты/crt.p12:
public static KeyStore getKeyStoreFromFile(String certificateFilePath,
String certificatePassword) throws KeyStoreException {
File p12File = new File(
KeyStoreUtil.class.getClassLoader().getResource(certificateFilePath).getFile());
KeyStore.Builder builder = KeyStore.Builder.newInstance("PKCS12", null, p12File,
new KeyStore.PasswordProtection(certificatePassword.toCharArray()));
return builder.getKeyStore();
}
и работает на платформе Windows.
Выпуск:
Однако, когда я запускаю его на платформе Linux система не может найти файл и выдает следующее исключение:
java.lang.IllegalArgumentException: File does not exist or it does not refer to a normal file: file:/executable/billpay-billinfo-services.jar!/certificates/crt.p12
Я думаю, что это другой вопрос платформы и Буду признателен, если кто-нибудь может помочь мне найти решение этой проблемы.
Имеет ли пользователь, выполняющий java-программу на linux, привилегию читать и использовать этот файл? – Nadir