FileNotFoundException при запуске Java - PullRequest
0 голосов
/ 23 декабря 2010

Я запускаю приложение с удаленной отладкой и включаю приостановку при запуске.
Когда я подключаюсь к процессу удаленно, меня останавливают в необработанном FileNotFoundException в ZoneInfo.getTimeZone()
Это вызвано линией: new PatternLayout("[%d{HH:mm:ss}] %-5p: %m%n").
очевидно, java не находит часовой пояс для Израиля в каталоге jre / lib / zi .
Я ценю, если вы знаете, как это исправить. Благодарю.

Редактировать: Похоже, проблема в том, что часовой пояс определен как "Израиль", а на Java есть только часовой пояс "Азия / Иерусалим". Как это можно изменить на машине linux?

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

Израильским часовым поясом должен быть Азия / Иерусалим.Я вижу это под моим jre / lib / zi.

Я считаю, что может быть две причины сбоя вашей программы:

  • этот файл не существует на вашемsystem.

  • что-то не так в определении часового пояса на вашем компьютере.

Итак,

  • Проверьте, есть ли там файл Иерусалим
  • Проверьте часовой пояс по умолчанию, возвращаемый TimeZone.getDefault ()и что настроено на панели управления.
0 голосов
/ 24 декабря 2010

Из того, что я обнаружил до сих пор, это несоответствие между suse 10 os и java.ОС называет часовой пояс «(GMT + 2: 00) Израиль», в то время как Java ожидает «(GMT + 2: 00) Иерусалим».
Существует обходной путь - запуск Java с флагом -Duser.timezone=Asia/Jerusalem или -Duser.timezone=GMT+2,второй вариант не подходит для летнего времени.Подробнее о этом блоге .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...