intellij-idea 从IntelliJ运行Gradle项目时,我可以排除构建输出吗?

az31mfrm  于 2022-11-01  发布在  其他
关注(0)|答案(2)|浏览(342)

我有一个Gradle项目正在最新版本的IntelliJ IDEA(2021.1.1 Ultimate Edition)中运行。该项目包含一个Java类,其中包含一个main方法,用于将结果输出到控制台。
当我从IntelliJ IDEA运行这个主方法时,会在“运行”选项卡中输出程序的结果。但是,它也会输出Gradle构建输出。这对我来说并不理想,因为这会使程序输出更难在视觉上区分,而且我必须仔细选择程序输出,而不能复制/粘贴完整的输出(click,A,C,click,V)。

构建.gradle

plugins {
    id 'java'
}

主要.java

package com.example;

public class Main {
    public static void main(String[] args) {
        System.out.println("Program output line 1");
        System.out.println("Program output line 2");
        System.out.println("Program output line 3");
    }
}

输出

1:20:08 PM: Executing task 'Main.main()'...

> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes

> Task :Main.main()
Program output line 1
Program output line 2
Program output line 3

BUILD SUCCESSFUL in 508ms
2 actionable tasks: 2 executed
1:20:09 PM: Task execution finished 'Main.main()'.

一边

如果我将项目设置切换为使用IntelliJ IDEA而不是Gradle构建和运行,也会出现类似的行为,因为它会输出Java命令和“process finished”消息。即使我想切换为以这种方式运行(我不想在此项目中这样做),我仍然会遇到这个问题的变体。

/Library/Java/JavaVirtualMachines/jdk-11.0.4.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=61588:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/Example/GradleMainOutput/out/production/classes com.example.Main
Program output line 1
Program output line 2
Program output line 3

Process finished with exit code 0

话虽如此,是否有一种方法可以在IntelliJ IDEA Gradle项目中只输出程序输出,而不输出构建输出?

y3bcpkx1

y3bcpkx11#

在此模式下运行时,无法隐藏Gradle构建输出。
唯一的方法是禁用Gradle运行委托,以便应用直接由IntelliJ IDEA启动。

隐藏命令行和退出代码也是not possible
您只能fold it

njthzxwz

njthzxwz2#

这是一个老问题,但是对于任何仍然想获得脚本输出的人来说,可以使用--quiet标志(https://docs.gradle.org/current/userguide/logging.html
因此,在build.gradle中包含以下内容:

task(run, dependsOn: 'classes', type: JavaExec) {
    main = 'com.multimodule.module.MainClass'
    classpath = sourceSets.main.runtimeClasspath
}

执行任务:

./gradlew multimodule:module:run --quiet

您将只得到输出(例如,您在main上添加的任何System.out.println)

相关问题