Я знаю, что много подобных проблем, я думаю, что я прочитал и проверил все возможности и понятий не имею, что я делаю неправильно ...Исполняемая баночки - загрузка из проектов доверенных ресурсов
Я погрузка Система имеет два файла сертификатов из пакета ресурсов проекта, а не соединение с ними на сервере 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");
К сожалению, это также вызывает исключение нулевого указателя;/ Мне интересно, может ли быть проблема с этими сертификатами JMS, что они не могут быть загружены как поток? Но абсолютный путь к файлу, такой как C:/temp/etc ... отлично работает (но это ужасное решение ....) – argh
Что вам нужно делать в режиме отладки, попробуйте разные пути для ресурса (в режиме проверки) - это поможет вам быстрее найти способ получения желаемого ресурса. – user
@argh, только использование ситов Абсолют ... Используйте Относительный путь, Люк .. – user