|
|
|
Ошибка при первом запуске jar файла
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, написал программку и упаковал её в jar файл, но при первом его запуске(после перезагрузки компьютера) - появляется непонятная ошибка, которую не могу отследить, так как ошибка проявляется только при запуске самого jar файла, а если запускать программу из средства разработки ошибки не возникает. При последующих запусках, всё работает нормально. Дальше больше, решил вывести сообщение об ошибке в лог файлы, но хз почему, лог файлы не появились и сообщения(см. код) не показались, запустил ещё раз - всё нормально(т.е. прога запустилась нормально и ошибку не удалось установить). Т.е. возникает какое-то исключение + точно FileNotFoundException - но непонятно почему. Файл есть, что за другая ошибка вообще непонятно. Подозреваю что что то связанное с инициализацией самой java машины - т.е. может какая-то java библиотека не успевает загрузиться и десерилизация нормально не проходит. А при повторных запусках всё нормально. Сама функция вызывается ещё через одну функцию, которая вызывается из конструктора. По логике этой функции, при первом запуске, если не удаётся найти файл статистики, значит первый запуск программы(вообще первый запуск, а не только первый запуск при загрузке компьютера) - и создаётся файл статистики. Но опять же, при первом запуске, при загрузке компьютера, файл статистики не создаётся, т.е. из-за этой ошибки не записать не считать файл не удаётся. Переменная STATA_FILE - не содержит никаких путей, просто название файла, который лежит в одном каталоге с jar файлом программы. Помогите разобраться в чём причина ошибки. Может ли быть это связанно с тем что на компьютере установлено несколько разных java машин на 64 и на 32 ? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 03:33 |
|
||
|
Ошибка при первом запуске jar файла
|
|||
|---|---|---|---|
|
#18+
ali_tashТ.е. возникает какое-то исключение + точно FileNotFoundException - но непонятно почему. Файл есть, что за другая ошибка вообще непонятно. Нам предлагается угадать "какое-то исключение" и "другую ошибку"? Или вы соизволите их залогировать и привести? ali_tashПодозреваю что что то связанное с инициализацией самой java машины - т.е. может какая-то java библиотека не успевает загрузиться и десерилизация нормально не проходит. А при повторных запусках всё нормально. Ерунда. ali_tashМожет ли быть это связанно с тем что на компьютере установлено несколько разных java машин на 64 и на 32 ? Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 07:43 |
|
||
|
Ошибка при первом запуске jar файла
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Да в том то и дело, что приведённый код, почему то, при первом запуске когда должна появиться ошибка не логгирует ничего. И почему появляется FileNotFoundException - если файл есть ? почему только при первом запуске ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 11:20 |
|
||
|
Ошибка при первом запуске jar файла
|
|||
|---|---|---|---|
|
#18+
ali_tashрешил вывести сообщение об ошибке в лог файлы, но хз почему, лог файлы не появились и сообщения(см. код) не показалисьА где у вас собственно запись в этот лог файл? (Добавьте нормальную систему логирования вместо этого велосипеда) Перед выводом сообщения у вас идет вызов saveStoredStataObj(). Что там происходит неизвестно, код то вы не привели. Но раз вывода в консоль не было, значит ошибка именно там и до строки System.out.println("Файл статистики не найден") дело просто не доходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 13:02 |
|
||
|
Ошибка при первом запуске jar файла
|
|||
|---|---|---|---|
|
#18+
ali_tash, - Используйте конструкцию try with resource, чтобы правильно закрывать файлы. - Используйте API или библиотеки для логирования, вместо вывода в out процесса. - Используйте File.exists() вместо FileNotFoundException. - Не пишите огромные catch блоки - выносите код в методы. В catch блоке должно быть максимум 2 строки. Одна - логирование - вторая действие. - Не мешайте UI и работу с классами в одну кучу. Уверен что ваш код можно сократить раза в три. Вы раздули простейшую задачу до целого экрана из-за чего решительно не понятно что этот метод вообще делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 13:20 |
|
||
|
Ошибка при первом запуске jar файла
|
|||
|---|---|---|---|
|
#18+
Разобрался, надо было так сделать. Только не понятно, почему с первого раза файл без указания директории не цепляется, а со второго цеплялся нормально. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2016, 16:37 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39313613&tid=2123688]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 502ms |

| 0 / 0 |
