从 IntelliJ 运行 Gradle 项目时可以排除构建输出吗?

M. *_*tin 5 java intellij-idea gradle

我有一个 Gradle 项目正在从最新版本的 IntelliJ IDEA(2021.1.1 Ultimate Edition)运行。该项目有一个 Java 类,其中有一个 main 方法,该方法将其结果输出到控制台。

\n

当我从 IntelliJ IDEA 运行这个 main 方法时,在“运行”选项卡中输出程序的结果。但是,它也输出 Gradle 构建输出。这对我来说是不可取的,因为它使程序输出更难以在视觉上区分,而且我必须仔细选择程序输出,而不能只复制/粘贴完整输出(单击、、、\xe2\x8c\x98A单击\xe2\x8c\x98C\xe2\x8c\x98V)。

\n

构建.gradle

\n
plugins {\n    id \'java\'\n}\n
Run Code Online (Sandbox Code Playgroud)\n

主程序.java

\n
package com.example;\n\npublic class Main {\n    public static void main(String[] args) {\n        System.out.println("Program output line 1");\n        System.out.println("Program output line 2");\n        System.out.println("Program output line 3");\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

输出

\n
1:20:08 PM: Executing task \'Main.main()\'...\n\n> Task :compileJava\n> Task :processResources NO-SOURCE\n> Task :classes\n\n> Task :Main.main()\nProgram output line 1\nProgram output line 2\nProgram output line 3\n\nBUILD SUCCESSFUL in 508ms\n2 actionable tasks: 2 executed\n1:20:09 PM: Task execution finished \'Main.main()\'.\n
Run Code Online (Sandbox Code Playgroud)\n
\n

在旁边

\n

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

\n
/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\nProgram output line 1\nProgram output line 2\nProgram output line 3\n\nProcess finished with exit code 0\n
Run Code Online (Sandbox Code Playgroud)\n
\n

话虽如此,有没有办法只输出 IntelliJ IDEA Gradle 项目中的程序输出,而不输出构建输出?

\n

Cra*_*der 3

在此模式下运行时,无法隐藏 Gradle 构建输出。

唯一的方法是禁用 Gradle 运行委托,以便应用程序直接由 IntelliJ IDEA 启动。

没有代表团

隐藏命令行和退出代码也是不可能的

你只能折叠它