2016-12-11 3 views
0

Я использую jedit в течение нескольких лет. Я установил его (не недавно) в режиме сервера, так что jedit-сервер запускается каждый раз, когда запускается моя ОС.Системный лоток jedit не отображается/окно jedit не отображается

Я использую окна 7 и java 1.8.0_111, и недавно я заметил случайное отсутствие значка в системном трее jedit. Случайным я имею в виду время от времени (возможно, один из десяти раз, без очевидной периодичности), после запуска окон значок панели задач не отображается.

Обычно я нажимаю на значок в системном трее, чтобы открыть новое окно jedit. Так как значок в системном трее отсутствовал, я попытался запустить его вручную: программы> jedit> jedit и не отображалось окно.

Я проверил процессы и обнаружил, что jvm фактически запущен, но окно не отображается, очень странно.

Есть ли кто-то с той же проблемой, исправлением или обходным решением?

FYI, я не изменил версию jedit или java недавно.

ответ

3

Если jEdit не подходит, возможно, у вас есть устаревший файл server в вашем каталоге настроек, который указывает на порт, который прослушивает какой-то процесс, но не отвечает на запросы jEdit. К сожалению, эта ситуация не очень хорошо справляется с jEdit, так как она может закончиться ожиданием ответа навсегда. Поэтому, если вы обнаружите, что jEdit не подходит, просмотрите activity.log в каталоге настроек, чтобы узнать, зарегистрирована ли какая-либо ошибка, и попробуйте удалить файл server из каталога настроек после уничтожения процесса jEdit и перед его перезагрузкой.

+0

большое спасибо! Ты прав. FYI Я проверил activity.log, и ничего не было написано в этом файле, когда я запустил его с проблемой (даже с параметром -log = 9). Я удалил% APPDATA% \ jedit \ server, и он сработал. Я проверил номер порта, это, кажется, 49163, у меня есть клиент vpn (конечная точка контрольной точки), используя порт 49157 - 49160 и другой процесс ИТ-сервиса с использованием портов 49161, 49162, 49165 и 49166. Я думаю, что что-то не так, когда jedit служба пыталась начать. Мне просто кажется странным, что он смешивается с другими сокетами. Спасибо большое! –

+0

Ну, когда jEdit запускается, он открывает произвольный свободный порт и записывает порт в файл 'server' для последующих процессов, чтобы иметь возможность подключиться к исполняемому экземпляру. Теперь, если jEdit выйдет из строя или вы его убьете, или ваши Windows сбой при запуске jEdit или что-то в этом роде, у вас может быть устаревший файл 'server'. Если теперь другой процесс прослушивает этот порт случайно и не отвечает на соединение, jEdit сидит там и ждет. Должен быть реализован некоторый тайм-аут или подобный подход, но это еще не сделано. Если соединение сбой происходит на порту, устаревший файл распознается и игнорируется. – Vampire

0

На самом деле, я нашел обходной путь, если вы начинаете jedit вручную из командной строки с помощью опции «noserver», отображается окно jedit, как и ожидалось:

C:\Program Files\jEdit>java -jar jedit.jar -noserver 

Это, вероятно, означает, что что-то не так с jedit - запуск сервера или, по крайней мере, связь между клиентом и сервером jedit. Я еще не нашел, но, по крайней мере, это дает обходное решение!

+0

Вы не должны этого делать. Это позволяет запускать jEdit два раза в том же каталоге настроек, который он до сих пор не обрабатывает очень хорошо, но может привести к странному поведению и не сохраненным изменениям настроек, но неочевидным образом. – Vampire