Переключатель Chromium '--lang=en_US' содержит неподдерживаемое значение языка

Я использую JxBrowser 6.14 и получаю эту ошибку при запуске экземпляра jxbrowser:

com.teamdev.jxbrowser.chromium.internal.ipc.IPCException: Failed to start IPC process.
    at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(SourceFile:190)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: The '--lang=en_US' Chromium switcher contains unsupported language value. Use one of the following language values: am, ar, bg, bn, ca, cs, da, de, el, en, en_gb, es, es_419, et, fa, fi, fil, fr, gu, he, hi, hr, hu, id, it, ja, kn, ko, lt, lv, ml, mr, ms, nb, nl, pl, pt_br, pt_pt, ro, ru, sk, sl, sr, sv, sw, ta, te, th, tr, uk, vi, zh_cn, zh_tw.
    at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.a(SourceFile:178)
    at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.start(SourceFile:103)
    at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(SourceFile:184)
    ... 1 more

У меня вчера такой проблемы не было. Я не знаю, что изменилось.


person Vic Seedoubleyew    schedule 07.06.2017    source источник
comment
Попробовать --lang=en? Что касается того, почему он изменился, обновлялся ли ваш Chromium автоматически?   -  person simonwo    schedule 07.06.2017
comment
@simonwo спасибо за быстрый ответ! Дело в том, что я не думаю, что когда-либо устанавливаю эту переменную где-либо. Я не вижу исходный код пакета jxbrowser.chromium.internal, поэтому не знаю, откуда он взялся.   -  person Vic Seedoubleyew    schedule 07.06.2017
comment
Не могли бы вы предоставить нам более подробную информацию по этому вопросу. Какую версию JxBrowser вы используете? Вы работаете на macOS, Windows, Linux? Что изменилось со вчерашнего дня? Может быть, вы используете Maven для получения JAR-файлов JxBrowser, и версия JxBrowser была обновлена?   -  person Vladimir    schedule 08.06.2017
comment
Версия 6.14 на Mac. После моего сообщения я узнал, что был отправлен коммит, который передал --lang=en_US в качестве аргумента, тогда как раньше мы ничего не передавали.   -  person Vic Seedoubleyew    schedule 08.06.2017


Ответы (1)


Я считаю, что проблема не воспроизводилась со старой версией JxBrowser. После обновления до 6.14 вы начали видеть это сообщение об ошибке. Причина в том, что в одной из последних версий JxBrowser был обновлен функционал проверки языка. Теперь он проверяет параметр --lang=en_US и проверяет, есть ли в Chromium соответствующий языковой ресурс (*.pak).

Сообщение об ошибке указывает на то, что файл en_US.pak не существует в Chromium, поэтому вы должны использовать один из предложенных языков. Для решения проблемы используйте переключатель --lang=en.

person Vladimir    schedule 08.06.2017
comment
@Vladimir Я думаю, что это немного грубо, чтобы все это рухнуло только из-за этого. Это должно быть предупреждением. Или, в списке, пометьте это как огромную красную вещь в примечаниях к выпуску. Это вызвало у нас некоторые проблемы. - person qwertzguy; 09.06.2017
comment
@qwertzguy сообщение об исключении указывает, что переданный входной параметр для переключателя --lang неверен. Мы не можем просто игнорировать эту ошибку и просто показать какое-то предупреждение в журнале, которое по умолчанию отключено. Игнорируемые ошибки вызывают неожиданное поведение приложения и логические ошибки. - person Vladimir; 11.06.2017
comment
@ Владимир, дело в том, что раньше это полностью игнорировалось, а теперь выдает непроверенное исключение. Должна быть по крайней мере фаза перехода, в которой он регистрируется (как ошибка, если хотите, мы включаем журналы предупреждений по умолчанию), прежде чем делать что-то, что убивает поток. Когда вы создаете библиотеку, вы не должны предполагать, как она используется, и должны полагаться на безопасную сторону вещей. - person qwertzguy; 12.06.2017