如何在不抑制正常输出的情况下抑制Mavens INFO垃圾邮件?

时间:2013-02-26 15:53:22

标签: maven

我想使用Mavens dependency:build-classpath创建一个类路径:

$ mvn dependency:build-classpath -Dmdep.prefix='lib' -f xpath.pom
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building xpath 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.1:build-classpath (default-cli) @ xpath ---
[INFO] Dependencies classpath:
lib/serializer-2.7.1.jar:lib/xalan-2.7.1.jar:lib/xml-apis-1.3.04.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.251s
[INFO] Finished at: Tue Feb 26 16:37:01 CET 2013
[INFO] Final Memory: 5M/109M
[INFO] ------------------------------------------------------------------------

如何在不抑制build-classpath的预期输出的情况下阻止Mavens INFO垃圾邮件?

我找到了答案,解释说我必须使用-q选项来抑制INFO输出。但是使用此选项会导致根本没有输出。

我知道我可以使用grep,但我想避免使用它。而且我无法相信Maven不能开箱即用,因为它使依赖插件变得毫无用处。

这是完整的pom:

<?xml version="1.0"?>
<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>nobody</groupId>
  <artifactId>xpath</artifactId>
  <version>1</version>

  <dependencies>
    <dependency>
      <groupId>xalan</groupId>
      <artifactId>xalan</artifactId>
      <version>2.7.1</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <phase>initialize</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.basedir}/lib</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

3 个答案:

答案 0 :(得分:4)

我知道这对某些人来说并不理想,但您可以使用outputFile将输出放入文件中。

答案 1 :(得分:0)

INFO 真正 需要了解的有关构建的极少量信息。这是它使用的默认日志记录级别。如果你告诉它不要使用INFO,那么Maven中的所有日志消息和你正在使用的插件都不会输出任何内容。

答案 2 :(得分:0)

在linux中,您可以在语句末尾添加grep -v INFO

$ mvn help:evaluate -Dexpression=project.parent.version |grep -v INFO 4.0.6-a $