Ошибка или нет ошибка? Что означает эта нечитаемая строка в выводе установки Maven?
Maven
install
вывод в Eclipse
пишет несколько таких строк:
[ERROR] 50% 21/31 build modules 52% 22/31 build ....
Я ставлю здесь только часть одной из этих строк, они очень длинные. Вы можете увидеть весь вывод на Google Drive. Ищите [ОШИБКУ] там.
Мне не нравится видеть эти сообщения об ошибках, не зная, о чем они. Что если они сигнализируют о чем-то действительно плохом? Или просто плохо? Или это просто шутки Мавена на Хэллоуин? Я боюсь, не.
Все проекты рабочей области кажутся installed
Хорошо
[INFO] ca-sp .............................................. SUCCESS [ 24.287 s]
[INFO] ca-cm .............................................. SUCCESS [ 21.186 s]
[INFO] ca ................................................. SUCCESS [ 20.438 s]
[INFO] ca-tests ........................................... SUCCESS [ 1.340 s]
Но
после этого в конце вижу:
FATAL ERROR in native method: JDWP Can't allocate jvmti memory, jvmtiError=JVMTI_ERROR_INVALID_ENVIRONMENT(116)
FATAL ERROR in native method: JDWP on getting class status, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)
Следующие строки выделены красным:
JDWP exit error JVMTI_ERROR_WRONG_PHASE(112): on getting class status [util.c:1285]
JDWP exit error JVMTI_ERROR_INVALID_ENVIRONMENT(116): Can't allocate jvmti memory [util.c:1799]
ERROR: JDWP unable to dispose of JVMTI environment: JVMTI_ERROR_INVALID_ENVIRONMENT(116)
Эти фатальные ошибки здесь известны как ошибки затмения. Боюсь, вы не поможете мне с ними. Когда maven делает установку, эти конечные ошибки могут появляться или нет, с вероятностью около 2/3. Но эти странные нечитаемые строки [ошибки] появляются всегда. Я надеюсь, что понимание их может спасти меня от ошибок, которые приходят в конце.
Затмение:
Версия: Oxygen.1a Release (4.7.1a)
Идентификатор сборки: 20171005-1200
Джава:
JDK-8u152-окна-x64.exe
1 ответ
Длинные строки журнала начинаются как
[ОШИБКА]???????????? 0% компиляции?????????????????????? 10% 0/1 сборочные модули
наиболее вероятно, что журналы индикаторов прогресса были установлены с неправильным уровнем (и неправильным образом?) на этапе разработки и никогда не менялись до соответствующего уровня при выпуске.
Вряд ли разработчик подумал, что на самом деле это ошибка сборки модуля, но забыл изменить уровень на [DEBUG/INFO]
,
символ ?
отмечает непечатаемый символ, который всегда 0x08
знак равно BACKSPACE
, Почему существуют такие символы и почему все это в одной строке - загадка. Может быть, кому-то нужен такой вывод для анализа?
Если вы удалите эти символы и добавите переводы строк в соответствующие места, вы получите что-то вроде этого (мое предположение в комментариях не обязательно правильное):
[ОШИБКА] 0% компиляции 10% 0/1 сборка модулей // сборка для модуля 1 запущена 70% 1/1 сборки модулей // сборка для модуля 1 близка к завершению 40% 1/2 сборки модулей // начата сборка для модуля 2 70% 2/2 сборки модулей // сборка для модуля 2 близка к завершению 50% 2/3 сборки модулей // начата сборка для модуля 3 (и так далее) 70% 3/3 сборочных модулей 54% 3/4 сборочных модуля
Интересная деталь заключается также в том, что перед каждой читаемой частью журнала, например, есть одинаковое количество обратных символов (я добавил строки, но в тексте есть пробелы):
???????????? 0% compile // два пробела перед текстом?????????????????????? 10% 0/1 построить модули // один пробел перед текстом
Стечение обстоятельств?