【问题标题】:Sublime build scrambles Gradle build outputSublime 构建打乱 Gradle 构建输出
【发布时间】:2019-07-03 02:41:24
【问题描述】:

我正在使用 sublime 文本构建系统运行 gradle Java 构建。我正在使用 Linux Mint 19.1。

当我从 sublime 文本运行构建命令 (gradlew build) 时,输出正在被打乱。从终端运行相同的构建时,输出符合预期。在 sublime 中,输出“> Task”的第一个字符消失了,单词“FAILED”的第一个实例加上下面的换行符被向下移动了几行。

在终端中

> Task :compileJava FAILED
/home/me/mycode/src/main/java/CLIClient.java:4: error: class, interface, or enum expected
sfpublic class CLIClient {
^
1 error


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
1 actionable task: 1 executed

崇高

:compileJava/home/me/mycode/src/main/java/CLIClient.java:4: error: class, interface, or enum expected
sfpublic class CLIClient {
^
1 error
 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
1 actionable task: 1 executed
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s

我的 Sublime 构建系统定义如下...

{
    "cmd": ["./gradlew" , "build"],
    "working_dir": "${project_path}",
    "file_regex": "^(/...*?):([0-9]*):?([0-9]*)"
}

【问题讨论】:

  • gradle 是尝试显示彩色输出还是进行增量显示(例如显示一行,然后将光标跳回到开头并在同一行输出不同的内容)?

标签: java gradle sublimetext3 sublimetext2 sublimetext


【解决方案1】:

默认情况下,gradle 做了一些命令行魔术,它在屏幕上显示当前任务的进度。它还显示颜色。我猜这与 sublime text 不兼容。

您可以通过在 gradle 命令行上传递 --console=plain 来关闭此功能

我猜这意味着

{
    "cmd": ["./gradlew" , "build", "--console=plain"],
    "working_dir": "${project_path}",
    "file_regex": "^(/...*?):([0-9]*):?([0-9]*)"
}

【讨论】:

  • 在命令行中使用 --console=plain 可以去除颜色。但是在 sublime 构建中使用它时,同样的问题仍然存在....
  • 你能解释一下到底出了什么问题吗?在控制台中,我相信“1 个可操作的任务:1 个已执行”通过我之前提到的魔法留在屏幕底部。尝试在命令行中添加--console=plain,您应该会看到与 sublime 相同的文本,其中文本按照它在构建中出现的顺序显示。也许这是多线程的问题,在这种情况下,您可以告诉 gradle 使用单个线程/守护进程
猜你喜欢
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
  • 2016-03-16
相关资源
最近更新 更多