Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
3 / 3 / 1
Регистрация: 31.07.2016
Сообщений: 43

Ошибка при первом запуске jar файла

22.09.2016, 03:35. Показов 2347. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, написал программку и упаковал её в 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
// Загружаем файл статистики
    private synchronized boolean loadStoredStataObj() {
        try {
            FileInputStream fis = new FileInputStream(STATA_FILE);
            ObjectInputStream ois = new ObjectInputStream(fis);
            this.sStata = (MonitorStat[]) ois.readObject();
            ois.close();
            fis.close();
            return false; // Не первый запуск
        } catch (FileNotFoundException e) {
 
            // Отлавливаем ошибку в лог
            File file = new File("stat_err.log");
            PrintStream ps = null;
 
            try {
                ps = new PrintStream(file);
            } catch (FileNotFoundException fnf) {
                fnf.printStackTrace();
            }
 
            e.printStackTrace(ps);
 
            saveStoredStataObj(); // Первый запуск, сохраняем файл статистики проинициализированным массивом
            System.out.println("Файл статистики не найден");
            //JOptionPane.showMessageDialog(null, "Файл статистики не найден", "", 2);
            return true; // Первый запуск, настроек ещё нет
        } catch (Exception exc) {
 
            // Отлавливаем ошибку
            File file = new File("stat_err2.log");
            PrintStream ps = null;
 
            try {
                ps = new PrintStream(file);
            } catch (FileNotFoundException fnf) {
                fnf.printStackTrace();
            }
 
            exc.printStackTrace(ps);
 
            saveStoredStataObj(); // Первый запуск, сохраняем файл статистики проинициализированным массивом
            System.out.println("Ошибка");
            JOptionPane.showMessageDialog(null, "Ошибка загрузки файла статистики", "", 2);
            exc.printStackTrace();
            return true; // Первый запуск, настроек ещё нет
        }
 
 
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.09.2016, 03:35
Ответы с готовыми решениями:

Ошибка при открытии jar файла
Написал простую программу,создал jar файл,но при попытке его открыть выскакивает ошибка.Работаю в Intelij Idea последней версии.В чем...

Ошибка при запуске jar-файла
Как это исправить?

При запуске jar файла отказано в доступе
При запуске jar файла через консоль выдает следующее сообщение Error: Unable to access jarFile JavaRushTasks - я так понимаю нет доступа ,...

2
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
22.09.2016, 09:23
Намекну тонко - причина кроется в:
Цитата Сообщение от Javagif Посмотреть сообщение
так как ошибка проявляется только при запуске самого jar файла, а если запускать программу из средства разработки ошибки не возникает
И немного потолше - относительные пути при запуске из IDE и отдельного jar разные, гуглите на эту тему, ответов очень много.
1
3 / 3 / 1
Регистрация: 31.07.2016
Сообщений: 43
22.09.2016, 16:34  [ТС]
Спасибо, помогло, всё работает.
Не понятно только почему раньше после первого неудачного запуска, со второго запуска файл нормально цеплялся.

Java
1
2
3
4
5
6
7
8
9
10
11
12
        File file = null;
 
        try {
            file = new File(App.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
            folder = file.getParent();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
 
.....
 
           FileInputStream fis = new FileInputStream(folder + File.separator + STATA_FILE);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.09.2016, 16:34
Помогаю со студенческими работами здесь

Ошибка при открытии jar файла
Здравствуйте, такая проблема. Работаю в программе IntelliJ IDEA. И хочу запустить свою программу, создал jar file через артефакты. ...

Ошибка при запуске jar файла
Я создал jar-файл своей игры, но он запускается только на моем компьютере , а на остальных вылетает ошибка "Java error has...

Ошибка, при первом запуске из VB
У меня возникает такая ошибка, при первом запуске из VB в откомпилированном проекте подобных ошибок не возникает до сегодня я грешил...

Кривое отображение текста при запуске jar-файла
Когда работаю в самой среде и запускаю проект, то все работает нормально, но когда создал файл и запустил его, то русские символы перестали...

Ошибка при первом запуске компьютера
При первой запуске компьютера клавиатура не работает - нажимаю перезагрузка, после этого работает нормально. Как исправить эту ошибку?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru