我有一个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项目中只输出程序输出,而不输出构建输出?
2条答案
按热度按时间y3bcpkx11#
在此模式下运行时,无法隐藏Gradle构建输出。
唯一的方法是禁用Gradle运行委托,以便应用直接由IntelliJ IDEA启动。
隐藏命令行和退出代码也是not possible。
您只能fold it。
njthzxwz2#
这是一个老问题,但是对于任何仍然想获得脚本输出的人来说,可以使用--quiet标志(https://docs.gradle.org/current/userguide/logging.html)
因此,在
build.gradle
中包含以下内容:执行任务:
您将只得到输出(例如,您在main上添加的任何System.out.println)