![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
kkin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
Добрый день.
Был разработан класс который устанавливает соединение по SSL и обрабатывает данные. Вот так он выглядит
Из кода видно, что проверка сертификатов производиться в сравнение с ключами доверенными в системе. System.setProperty("javax.net.ssl.trustStore", "cer" + File.separator+ "test.kz"); Если все это запустить как отдельный класс все работает. Но если все это упаковать в jar файл то при вызове этого jar файла появляется ошибка о том что папка cer и соответственно файл "test.kz" не найдены так как эта папка ищется в каталоге вызывающего класса. Как мне прописать что бы данные искались в jar файле и его вложенной папке ??? |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Попробуй:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
kkin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
Не помогло при
URL keyStoreUrl = Thread.currentThread().getContextClassLoader().getResource("/cer/test.kz"); Ни чего не добавляется переменная keyStoreUrl остается равной null java.lang.NullPointerException |
|||
|
||||
Stolzen |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Попробуйте так
Ресурс должен находится в одной папке с классом для someObject |
||||
|
|||||
kkin |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
в общем ситуация в следующем .getClass().getResource("ii.png"); вообще не работает в моем проекте так как getClass нет такого метода. Все упростил и для наглядности привожу пример. Класс, который читает данные из файла, который в дальнейшем будет упакован jar файл.
Далее код программы которая импортирует скопилированный jar файл
При выполнении данного кода вылетает ошибка e java.io.FileNotFoundException: cer\test.kz (Системе не удается найти указанный путь) Добавил к теме еще свой jar файл Это сообщение отредактировал(а) kkin - 8.7.2011, 09:00 Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() |
||||
|
|||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
||||
|
||||
kkin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
Пробовал делать вот так в классе public class read_file
на что везде получаю NULL |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Путь должен быть относительным этого класса. Можете поместить свой test.ks в папку, в которой лежит исходник класса read_file, оттуда он найдется. |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 9 Всего: 39 |
на край можно будет перед вызовом SSL связанных методов, распоковать этот файл во временную директорию
|
|||
|
||||
kkin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
Точно, переложил файл в папку с классами, стал находить этот файл вот что пишет при нахождении jar:file:/C:/Users/clamp/Desktop/kkkkkkkkkkkk/JAR_READ.jar!/com/test/test.ks Теперь как быть с доступом к этому файлу ??? пытался передать всю строку или просто путь ни чего не работает reader = new BufferedReader(new InputStreamReader(new FileInputStream(read_file.class.getResource("test.ks")+""), "Cp1251")); как правильно передать путь к файлу??? |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Ну не совсем путь, но если файл нужно считать, то так: |
|||
|
||||
XoJIoD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.4.2008 Репутация: нет Всего: нет |
Попробуй getResourceAsStream.
|
|||
|
||||
kkin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
Благодарю всех за помощь !!!
Теперь все работает, если нужно считать содержимое файла. Переложил файл в папку с классами. Ниже привожу рабочий код
В моем же случае сюда System.setProperty("javax.net.ssl.trustStore",keyStoreUrl ); вместо keyStoreUrl необходимо передать путь до файла. Если использовать URL keyStoreUrl = jar_send_post_soket.class.getResource("test.ks"); То путь выглядит следующим образом file:/C:/Users/гы/Desktop/kk/JAR_test.jar!/com/test/test.ks И когда начинается сверка сертификата данный файл не находиться. КАК РЕШИТЬ ??? Это сообщение отредактировал(а) kkin - 25.7.2011, 11:13 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |