Windows 10中Gradle的奇怪控制字符

时间:2017-07-25 11:00:53

标签: windows gradle cmd windows-10 windows-console

在控制台中,自从切换到Windows 10后从CMD运行时,我从Gradle获得“funky”输出。

[0K
[0K
[2A[1m<==-----------> 18% EXECUTING [9s][m[34D[1B[1m> :compileScala[m[15D[1B[2A[1m<==-----------> 18% EXECUTING [10s][m[35D[2B[2A[1m<==-----------> 18% EXECUTING [11s][m[35D[2B[2A[1m<==-----------> 18% EXECUTING [12s][m[35D[2B[2A[1m<==-----------> 18% EXECUTING [13s][m[35D[2B[2A[1m<==-----------> 18% EXECUTING [14s][m[35D[2B[2Athere were four feature warnings; re-run with -feature for details
four warnings found

我想这是某种控制字符 - 疯狂,Gradle试图明智地为其输出着色,Windows正在解释错误。 PowerShell和SBT工作正常 - 但是将控制台“属性”设置从PowerShell复制到CMD并不能解决问题。

有人解决了这个问题吗?

更新2018-01-28 这也发生在OSX / macOS / whatnot上的Jenkins / Alpine / Docker设置中。不仅仅是窗户了。

...但是...它不会发生在Surface笔记本电脑的工作给了我......超级奇怪。 Whatevs gradlew --console=plain对我来说很好。

3 个答案:

答案 0 :(得分:6)

我已经在Git For Windows的一部分Git BASH shell中看到了这种情况。对我而言,解决方案是将TERM设置为cygwin。这样可以固定输出,而不会引起任何处理退格的问题。

export TERM=cygwin

我还尝试了xterm,xterm-256color,ansi和vt100。 cygwin这个词对我来说是最可靠的。我现在在Windows Terminal中运行\ usr \ bin \ bash.exe,到目前为止,它运行良好。

答案 1 :(得分:3)

我猜你可以在gradle命令行中传递--console plain来禁用富控制台,这可能是造成“时髦”角色的原因

https://docs.gradle.org/current/userguide/gradle_command_line.html

答案 2 :(得分:0)

要在Windows 10上解决此问题,请创建一个新的DWORD密钥HKEY_CURRENT_USER\Console\VirtualTerminalLevel设置为1。有关更多信息,请参见this