2015-07-01 4 views
2

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

Я погрузка Система имеет два файла сертификатов из пакета ресурсов проекта, а не соединение с ними на сервере JMS. При запуске приложения в Eclipse, режим все работает нормально, проблема occurres при попытке чтения ресурса из работоспособного файла JAR, это приводит к ошибке:

FileNotFoundException: file:\path_to_my_jar!\resources\serverids.jks 

Файлов место внутри кувшина (в основной папке). Эта папка помещается в src/resources, но я попытался создать папку ресурсов вне src и связать ее, чтобы построить путь с тем же результатом.

Это, как я читаю файл и настройки свойств для ConnectionManager:

ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader(); 
    String keyStore = currentClassLoader.getResource("resources/serverids.jks").getPath(); 
    String trustStore = currentClassLoader.getResource("resources/server.truststore").getPath(); 

    System.setProperty("javax.net.ssl.keyStore", keyStore); 
    System.setProperty("javax.net.ssl.keyStorePassword", "pass"); 
    System.setProperty("javax.net.ssl.trustStore", trustStore); 
    System.setProperty("javax.net.ssl.trustStorePassword", "pass"); 

ответ

0

Получить этот ресурс как InputStream, а затем прочитать его String к стоимости имущества вы хотите установить. Кроме того, в вашем случае вы должны извлечь ресурс, таким образом:

CurrentClass.class.getResourceAsStream("blah.jks")

Пожалуйста, не забудьте закрыть поток после обработки.

+0

К сожалению, это также вызывает исключение нулевого указателя;/ Мне интересно, может ли быть проблема с этими сертификатами JMS, что они не могут быть загружены как поток? Но абсолютный путь к файлу, такой как C:/temp/etc ... отлично работает (но это ужасное решение ....) – argh

+0

Что вам нужно делать в режиме отладки, попробуйте разные пути для ресурса (в режиме проверки) - это поможет вам быстрее найти способ получения желаемого ресурса. – user

+0

@argh, только использование ситов Абсолют ... Используйте Относительный путь, Люк .. – user

Смежные вопросы