You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免程序控制台输出与Maven构建输出混杂?

问题描述

我用Java 19开发Maven项目,IDE是IntelliJ Ultimate 2022.3。运行程序时,我的程序输出Hello World和Maven构建输出混杂在一起,我希望IntelliJ只显示程序自身的输出。以下是运行日志、pom.xml内容及IDE设置说明,请问该怎么解决?

运行日志

"C:\Program Files\Java\jdk-19\bin\java.exe" "-Dmaven.multiModuleProjectDirectory=E:\HDA\Distributed Systems\vs-projekt" "-Dmaven.home=C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\plugins\maven\lib\maven3" "-Dclassworlds.conf=C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\plugins\maven\lib\maven3\bin\m2.conf" "-Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\plugins\maven\lib\maven-event-listener.jar" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\lib\idea_rt.jar=60937:C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\plugins\maven\lib\maven3\boot\plexus-classworlds-2.6.0.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.3\plugins\maven\lib\maven3\boot\plexus-classworlds.license" org.codehaus.classworlds.Launcher -Didea.version=2022.2.3 "-Dexec.workingdir=E:/HDA/Distributed Systems/vs-projekt" "-Dexec.args=-classpath %classpath Main" "-Dexec.executable=C:\Program Files\Java\jdk-19\bin\java.exe" exec:exec
[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------------< org.hda:Mo5x-Burchard >------------------------
[INFO] Building Mo5x-Burchard 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- exec-maven-plugin:3.1.0:exec (default-cli) @ Mo5x-Burchard ---
**Hello World**
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.514 s
[INFO] Finished at: 2022-11-01T16:50:37+01:00
[INFO] ------------------------------------------------------------------------

Process finished with exit code 0

pom.xml内容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.hda</groupId>
    <artifactId>Mo5x-Burchard</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>15</maven.compiler.source>
        <maven.compiler.target>15</maven.compiler.target>
    </properties>

    <build>
        <defaultGoal>compile</defaultGoal>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
                <plugin>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.7.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>

IDE设置说明

  • Maven构建设置:显示Maven构建相关配置界面
  • 项目运行配置:当前使用的是Maven类型的运行配置
  • Java编译器设置:显示Java编译器版本等配置界面

解决方案

你当前是通过Maven的exec:exec命令运行程序,所以IntelliJ会输出完整的Maven构建日志,自然会和程序输出混杂。要只显示程序自身输出,有两种可行方法:

方法一:创建Java应用运行配置

  1. 点击IntelliJ顶部菜单栏「Run」→「Edit Configurations...」
  2. 点击左上角「+」号,选择「Application」类型
  3. 在「Main class」中选择你的主类Main
  4. 确认「Module」选中当前项目模块,「JRE」选择Java 19
  5. 点击「Apply」保存配置,后续运行这个Java应用配置,就能只看到程序输出

方法二:配置Maven exec插件过滤日志

如果必须用Maven运行,可修改pom.xml给exec-maven-plugin添加配置,让Maven只输出程序日志:

  1. 在build标签下新增plugins节点(和原有的pluginManagement同级),添加以下配置:
<build>
    <!-- 保留原有的pluginManagement内容 -->
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <!-- 关闭Maven自身日志输出,仅保留程序输出 -->
                <quiet>true</quiet>
            </configuration>
        </plugin>
    </plugins>
</build>
  1. 重新运行Maven的exec命令,此时日志只会显示程序的Hello World

另外注意:你的pom.xml中maven.compiler.source和target设为15,但实际使用Java 19,建议改成19保持版本一致,避免潜在编译问题。


内容的提问来源于stack exchange,提问作者CodingStudent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:20:35