错误还是不错误? Maven 安装输出中这条不可读的行是什么意思?

Error or not error? What does this unreadable line in Maven install output mean?

Maven installEclipse 中的输出写了几行这样的行:

[ERROR]  50% 21/31 build modules 52% 22/31 build .... 

我在这里只放了其中的一部分,它们非常长。您可以在 Google Drive 上看到整个输出。在那里寻找 [ERROR]。

我不喜欢看到这些不知道它们是关于什么的错误消息。如果他们发出非常糟糕的信号怎么办?还是根本不好?或者它们只是 Maven 的万圣节笑话?恐怕不行。

工作区的所有项目似乎都installed OK

[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)

这些致命错误被称为 eclipse 错误 here。恐怕你不会帮我处理它们。 maven在安装时,这些结束错误可能出现也可能不出现,概率大约是2/3。但是那些奇怪的不可读的 [error] 行总是出现。我希望,理解它们可以使我免于最后出现的错误。

日食:
版本:Oxygen.1a 发布 (4.7.1a)
构建 ID:20171005-1200

Java:
jdk-8u152-windows-x64.exe

长日志行开始于

[ERROR] ???????????? 0% compile?????????????????????? 10% 0/1 build modules

很可能是进度指示器日志,这些日志在开发阶段被设置为错误的级别(和错误的方式?)并且在发布时从未更改为适当的级别。

几乎没有开发者想到模块得到构建但忘记将级别更改为[DEBUG/INFO]实际上是一个错误。

字符 ? 标记不可打印的字符,它总是 0x08 = BACKSPACE。为什么会有这样的字符以及为什么所有这些东西都在一行中是一个谜。也许有人需要这种输出来进行分析?

如果你删除这些字符并在适当的地方添加换行符,你会得到类似的东西(我在评论中的猜测不一定正确):

[ERROR] 0% compile
10% 0/1 build modules    // build for module 1 started
70% 1/1 build modules    // build for module 1 near to finish
40% 1/2 build modules    // build for module 2 started
70% 2/2 build modules    // build for module 2 near to finish
50% 2/3 build modules    // build for module 3 started (and so on)
70% 3/3 build modules
54% 3/4 build modules

有趣的细节还在于,在日志的每个可读部分之前有完全相同数量的退格,例如(我添加了换行符,但文本中有空格):

????????????
  0% compile               // two spaces before text
??????????????????????
 10% 0/1 build modules     // one space before text

巧合?